0

下面是我的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"];
    }

$_POSTRESULTS IN Array ( [file] => gcc-mlion.tar [submit] => Submit ) BUT$_FILES给出空结果。

4

2 回答 2

1

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

于 2013-07-22T05:34:13.480 回答
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>

希望这可以帮助!

于 2013-07-22T04:27:19.010 回答