0

无法上传图片

  • 问题是图像没有得到set`$_FILES['file']。
  • 代码非常简单,但仍然无法得到明显的结果。

用 3* 即 ' * '标记了意外故障

我不知道我做错了什么。

提前致谢,非常感谢您的建议和意见。

快乐编码!

<--- 注意:PHP 下的 HTML 表单 --->

<?php
//CHECK: Submit
if(isset($_POST['submit']))
{
    echo 'form submitted <br />';
    //CHECK: File by POST

    if(isset($_POST['file']))
    {
         echo $_POST['file'] . '<br />';
         unset($_POST['file']);
    }
    //CHECK: File if 'isset' $_FILES        
    if(isset($_FILES['file']))
    {
        print_r($_FILES['file']);
    }
    else
    {
        echo '$_FILES not set!';
    }
 }


?>

<!-- HTML FORM -->
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" enctype="multipart/form-data">
      <input type="hidden" name="MAX_FILE_SIZE" value="5M">
      Image: <input type="file" name="file" size="50" id="file" />
      <br /><br />
      <input style="margin-left:15%;" type="submit" name="submit" value="Upload"/>
</form>
4

3 回答 3

1

请更正您错过的表单操作 `echo :-

  <?php echo $_SERVER['PHP_SELF']; ?>
         ^

正如您的评论,您收到错误 2,这意味着:-

UPLOAD_ERR_FORM_SIZE

Value: 2; The uploaded file exceeds the MAX_FILE_SIZE directive that was 
specified in the HTML form.

请同时参考此解决方案File upload ['ERROR']= 2

于 2013-10-07T06:13:21.993 回答
0

需要进行以下修正。

1 - 添加一个echo作为action="<?php $_SERVER['PHP_SELF']; ?>"action="<?php echo $_SERVER['PHP_SELF']; ?>"

2 - 为什么你会发现file$_POST需要检查一下

if(isset($_POST['file'])){
    echo $_POST['file'] . '<br />';
    unset($_POST['file']);
}

3 - 您已评论您的输出来自行print_r($_FILES['file']);

Array ( 
   [name] => imagename.jpg 
   [type] => [tmp_name] => 
   [error] => 2 
   [size] => 0 
)

tmp_name 没有变空,这意味着您的文件没有创建要上传的临时文件。因此,检查临时上传文件路径以php.ini确保它正常工作

于 2013-10-07T06:31:28.080 回答
-2
different value in name attribute
 Image: <input type="file" name="fileupload" size="50" id="file" />

<?php
if(isset($_POST["submit"]))
{
$name=$_FILES['fileupload']['name'];
$name=$_FILES['fileupload']['tmp-name'];
$name=$_FILES['fileupload']['size'];
}
?>
于 2013-10-07T06:12:24.950 回答