我正在我的计算机上运行 XAMPP 服务器。我上传的最大文件大小为 24.3kb。我的服务器无法上传 78kb 的文件。我知道是因为我在尝试移动文件时得到一个空的 $_FILES['file']['tmp_name'] 和错误。
我进入 php.ini 并更改了两个变量:upload_max_filesize = 2M 和 post_max_size = 8M,两者都超过 100,尽管它应该在 2MB 和 8MB 下工作。仍然没有成功。
我对 php 有点陌生,但我确实启用了所有日志,并尝试检查错误日志,但唯一具有相关信息的是 php 错误日志,我看到的唯一错误是“文件路径/tp/myfile 中的未定义索引。 php 在第 13 行'。我应该检查任何其他错误日志吗?
我查看了很多论坛和主题,但找不到我的不工作的原因。
[编辑] 我确实有正确的加密类型。(我确实上传了一张图片)。enctype="多部分/表单数据
[EDIT2] 我的 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
}
?>