【问题标题】:Php upload file yields error code 4. Why?php上传文件产生错误代码4。为什么?
【发布时间】:2014-03-09 00:38:18
【问题描述】:

HTML:

<form action="formhandler.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file" />
    <input type="submit" name="submit" value="Submit" />
</form>

在选择文件并单击提交后,在 formhandler.php 中执行print_r($_FILES)

[file] => Array
    (
        [name] => 
        [type] => 
        [tmp_name] => 
        [error] => 4
        [size] => 0
    )

根据手册,错误代码 4 代表“UPLOAD_ERR_NO_FILE - 没有上传文件”,但我不知道为什么没有上传。

【问题讨论】:

  • 可能与您的 tmp 文件夹有关吗? PHP 有正确的权限吗?
  • @JoshuaSmickus 嗯,也许吧。这个临时文件夹在哪里?我知道在您使用 move_uploaded_file() 正确处理之前有一个临时上传。是formhandler.php所在的文件夹吗?
  • Print_r($_FILES);返回文件的完整信息请确保您的上传文件和按钮提交上的事件调用

标签: php forms file-upload


【解决方案1】:

在这种情况下,问题是:我有多个属性为name="image" 的输入元素。当我更改为个人名称时,错误消失了。

【讨论】:

  • 你好。您是否可以对此进行更多详细说明?我有同样的错误,我认为是同样的原因,但我不明白你的意思是“更改为个人名称”。提前致谢。
  • @RaRdEvA 嗨。我的意思是我给我所有的 一个唯一的名称属性。在我有几个输入的 name="image" 之前。然后我对其进行了更改,以便没有 具有与其他任何东西相同的 name="" 属性。这就是我所说的“个人名字”。我使名称属性独一无二。
  • 这说明了很多。我以为您打算在 PHP 代码中给出该名称,但我从没想过它是在 HTML 中。我通过在上传之前更改收到的名称来解决它。再次感谢,我会试试看。
【解决方案2】:

其他解决方案 (PHP 7.3.11)

求答案@Weblurk https://stackoverflow.com/a/21698740/9635711

不起作用:

<input id="files" multiple="true" name="file_images_send[header_image]" type="file">
<input id="files" multiple="true" name="file_images_send[header_image]" type="file">

有效 - 解决方案 - 输入数组“[]”结束名称

<input id="files" multiple="true" name="file_images_send[header_image][]" type="file">
<input id="files" multiple="true" name="file_images_send[header_image][]" type="file">

【讨论】:

  • 从名称中删除“[]”后,我开始收到此错误。是这个错误把我带到了这个页面。
【解决方案3】:

当您上传多张图片并且设备是手机时,可能会发生这种情况;因为有时手机将同名文件保存在不同的文件夹下;但是,在上传时,您会在同一个文件夹中获得同名的同一个文件,从而使您没有文件。

我所做的是在上传之前更改名称,在 PHP 中,为每个文件授予唯一的名称。错误现在消失了。

这不是解决方案,只是在相同情况下针对特定情况的解决方案。

【讨论】:

    【解决方案4】:

    我对这个错误的问题是索引视图中有多个表单(每一行都有一个单独的同名输入表单)并且表单错误地共享相同的 id。

    一旦我删除了表单 ID,问题就解决了。

    【讨论】:

      猜你喜欢
      • 2016-02-08
      • 2015-10-30
      • 2012-01-03
      • 2015-05-10
      • 2018-04-19
      • 1970-01-01
      • 1970-01-01
      • 2011-02-09
      相关资源
      最近更新 更多