1

コンピューターで XAMPP サーバーを実行しています。アップロードしたファイルの最大サイズは 24.3kb です。サーバーが 78kb ファイルのアップロードに失敗しました。ファイルを移動しようとすると、空の $_FILES['file']['tmp_name'] とエラーが発生するのでわかります。

私は php.ini に入り、upload_max_filesize = 2M と post_max_size = 8M の 2 つの変数を両方とも 100 以上に変更しましたが、2 メガバイトと 8 メガバイトで動作するはずでした。まだ成功していません。

私はphpに少し慣れていませんが、すべてのログを有効にし、エラーログを確認しようとしましたが、関連する情報を含む唯一のものはphpエラーログであり、表示される唯一のエラーは「ファイルパス/ tp / myfileの未定義インデックス. 13行目のphp '。他に確認すべきエラー ログはありますか?

多くのフォーラムやスレッドを見ましたが、私のものが機能しない理由がわかりません。

[編集] 私は正しい暗号化タイプを持っています。(結局、アップロードする画像を1つ取得しました)。enctype="multipart/form-data

[編集 2] 私の php スクリプト: 念のため、これは「Head First php mysql」の演習です。

<?php
if(isset($_POST['submit'])){
    $first_name = $_POST['first_name'];
    $last_name = $_POST['last_name'];
    $score = $_POST['score'];
    $screenshot = $_FILES['screenshot']['name'];
    $target_directory = "images/$screenshot";
    $tmp_directory = $_FILES['screenshot']['tmp_name'];

    echo "echoing" . $tmp_directory;

    move_uploaded_file($tmp_directory, $target_directory) or die("Failed to move");

$db = "guitarwars";
$table = "highscoretable";

$dbc = mysqli_connect(privateinfor) or die("Failed to connect to server");
mysqli_select_db($dbc, $db) or die("Failed to select database");

$query = "INSERT INTO $table VALUES(0, NOW(), '$first_name', '$last_name', '$score', '$screenshot')";

//mysqli_query($dbc, $query) or die("Failed to query database");

}else{

?>

<html>
    <head>
        <style type="text/css">
            .container {
                width: 100%;
            }
            .container label{
            }
        </style>

    </head>
    <body>
    <h1>Guitar Wars - Add Your High Score</h1>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
        <div class="container">
        <input type="hidden" name="MAX_FILE_SIZE" value="32768" enctype="multipart/form-data"/>
        <label for="first_name">First Name:</label> 
        <input type="text" size="32" maxlength="32" value="<?php echo $first_name; ?>" placeholder="First Name" id="first_name" name="first_name"/>
        <label for="last_name">Last Name:</label> 
        <input type="text" size="32" maxlength="32" value="<?php echo $last_name; ?>" placeholder="Last Name" id="last_name" name="last_name"/></br>
        <label for="score">Score:</label> 
        <input type="text" size="11" maxlength="11" placeholder="Enter score" value="<?php echo $score; ?>" id="score" name="score"/></br>
        <label for="screenshot">Screenshot:</label> 
        <input type="file" id="screenshot" name="screenshot"/></br>
        <input type="submit" name="submit" value="submit" />
        </div>
    </form>
    </body>
</html>
<?php
    }
?>
4

1 に答える 1

3

また、memory_limit を変更する必要があります

memory_limit = value
upload_max_filesize = value
post_max_size = value
于 2013-06-09T01:34:27.453 に答える