1

我正在我的计算机上运行 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
    }
?>
4

1 回答 1

3

您还需要更改 memory_limit

memory_limit = value
upload_max_filesize = value
post_max_size = value
于 2013-06-09T01:34:27.453 回答