コンピューターで 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
}
?>