0

你不会相信这个错误,我不知道发生了什么。当我尝试上传文件时,其中一些拒绝上传。

<html>
<body>
<?php
var_dump($_POST);
if ($_POST['fileadd']){
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    print_r($_POST); echo "<br>"; print_r($_FILES);
}
?>

        <form action="" method="POST"
        enctype="multipart/form-data">
        <label for="file">Filename:</label>
        <input type="file" name="file" id="file" class="bigtext" style="width: 80%;"> 
        <br>
        <input type="submit" class="bigbutton" id="showloader" name="fileadd" value="Upload the song" />
        </form>


</body>
</html>

这是在行动。 问题是当它说它不应该说的数组 0时。

另外,当我选择某些文件时,为什么$_POST数组是nil/zero,当它至少应该包含fileadd在其中时,作为提交按钮的名称?

4

2 回答 2

2

在看到完整的代码并与 OP 交谈以找到解决手头问题的方法后,得出的问题是以下几点:

这个:

if ($_POST['fileadd']){

需要改为:

if(isset($_POST['fileadd']))

为了检查是否已设置提交按钮。

此外,根据尝试上传的文件大小,将上传最大大小设置得太低,使用以下 in.htaccess来增加它。

php_value upload_max_filesize 48M
php_value post_max_size 48M
于 2013-09-17T16:08:28.043 回答
2

您只是假设您的代码是完美的。它不是。它假定文件上传总是成功,并且不允许失败的可能性。你需要有更多类似的东西:

if ($_FILES['file']['error'] !== UPLOAD_ERR_OK) {
   die("File upload failed with error code #" . $_FILES['file']['error']);
}

错误代码在这里定义:http ://www.php.net/manual/en/features.file-upload.errors.php

于 2013-09-17T14:59:30.543 回答