php文件上传不工作返回空结果

时间:2013-07-22 04:01:19

标签: php html file upload

以下是我的HTML代码....

    <form enctype="multipart/form-data" action="some.php" method="POST">                           
       <label for="file">Filename:</label>
       <input type="file" name="file" id="file"><br>
       <input type="submit" name="submit" value="Submit">
    </form>

和我的some.php代码......

    print_R($_FILES);
    print_r($_POST);
    if ($_FILES["file"]["error"] > 0)
    {
       echo "Error: " . $_FILES["file"]["error"] . "<br>";
    }
    else
    {
       echo "Upload: " . $_POST["file"]["name"] . "<br>";
       echo "Type: " . $_FILES["file"]["type"] . "<br>";
       echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
       echo "Stored in: " . $_FILES["file"]["tmp_name"];
    }

$_POST结果Array ( [file] => gcc-mlion.tar [submit] => Submit ) 但是$_FILES给出了空结果。

2 个答案:

答案 0 :(得分:1)

当您尝试打印文件阵列时,您的“print_r”拼写错误。 你写“print_R”而不是“print_r”,Php是区分大小写的,所以这很重要。

答案 1 :(得分:0)

您正在尝试输出$_POST['file']['name'];的值。它将返回未定义的索引错误消息。

将该行更改为:

echo "Upload: " . $_FILES['file']['name'] . "<br>";

这应解决问题。

此外,我也是这样做的:

<pre>
<?php
if(isset($_POST['submit'])) //checking if form was submitted
{
print_r($_FILES);
print_r($_POST);

if ($_FILES["file"]["error"] > 0) //checking if error'ed
    {
    echo "Error: " . $_FILES["file"]["error"] . "<br>";
    }
else
    {
    echo "Upload: " . $_FILES['file']['name'] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Stored in: " . $_FILES["file"]["tmp_name"];
    }
}
?>
</pre>

<form enctype="multipart/form-data" action="" method="POST">                           
   <label for="file">Filename:</label>
   <input type="file" name="file" id="file"><br>
   <input type="submit" name="submit" value="Submit">
</form>

希望这有帮助!