PHP文件上传写入磁盘错误

Posted

技术标签:

【中文标题】PHP文件上传写入磁盘错误【英文标题】:PHP File Upload Write Disk Error 【发布时间】:2012-08-18 09:41:33 【问题描述】:

突然间,我无法使用我的 GoDaddy 托管帐户通过网络表单上传文件。这是位于http://www.fordcorepro.com/upload.php 的基本表单:

<form action="upload_submit.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <label for="fileField"></label>
  <input type="file" name="fileField" id="fileField" />
  <input type="submit" name="button" id="button" value="Submit" />
</form>

它只是将文件发布到upload_submit.php:

print_r($_FILES);

我尝试上传的任何文件,无论类型或大小,都不会写入磁盘进行处理:

Array ( [fileField] => Array ( [name] => Whining.txt [type] => [tmp_name] => [error] => 7 [size] => 0 ) )

我收到错误代码 7,或磁盘写入错误。 GoDaddy 说他们没有任何原因导致这种情况,这是我的脚本中的内容。我告诉他们可能有写权限,他们拒绝了。有任何想法吗?我尝试上传的文件只有 13KB。

【问题讨论】:

/tmp 可以限制大小 【参考方案1】:

我遇到了这种情况...我已经填满了磁盘(实际上是临时文件上传的分区):-( .

【讨论】:

GoDaddy 声明没有可能导致此错误的存储限制。我远远低于所有存储限制。【参考方案2】:

我刚刚在您提供的 URL 上传了一个 11KB 的文本文件,它上传了文件(数组显示错误 =0 和正确的文件大小)

你上传的是什么类型的文件,上传数组告诉你什么?

上传数组告诉我:

Array ( [fileField] =&gt; Array ( [name] =&gt; New Text Document.txt [type] =&gt; text/plain [tmp_name] =&gt; /tmp/phpCBroC6 [error] =&gt; 0 [size] =&gt; 12161 ) )

【讨论】:

在上面的例子中, Whining.txt 是一个 1KB 的文本文件。它正在生成 Array ( [fileField] => Array ( [name] => Whining.txt [type] => [tmp_name] => [error] => 7 [size] => 0 ) ) 的数组打印输出跨度> 好的,因为它肯定在我的最后工作,我真的不认为这是一个godaddy或代码问题。 whining.txt 包含什么?你能创建一个新的 txt 文件,只添加几行简单的行,上传新文件并检查吗?确保它有足够的内容,大小约为 10Kb 左右.. 我创建了一个名为 text.txt 的文本文件,其中只包含“这是一个测试”这句话。在数组打印中上传结果: Array ( [fileField] => Array ( [name] => test.txt [type] => [tmp_name] => [error] => 7 [size] => 0 ) ) - I在 Chrome 和 IE9 中试过这个。 创建一个具有相同名称和内容并使用 Chrome 上传的文件:已正确上传。 Array ( [fileField] =&gt; Array ( [name] =&gt; test.txt [type] =&gt; text/plain [tmp_name] =&gt; /tmp/phpgc02Lr [error] =&gt; 0 [size] =&gt; 14 )) 因此它与我的系统隔离 - 无论是我的计算机还是我的网络。我会尝试验证这个理论,然后告诉你它是如何工作的。【参考方案3】:

这可能只是服务器上的 /tmp 文件夹的问题:有时它有一个特殊的分区,而该分区只是空间不足。

您可以更改 php.ini 中的php_tmp_dir 设置。阅读有关它的更多信息in PHP's documentation。

【讨论】:

以上是关于PHP文件上传写入磁盘错误的主要内容,如果未能解决你的问题,请参考以下文章

PHP $FILES error码对应错误信息

php环境无法上传文件的解决方法

如何使用 PHP 从上传到本地主机的一个 html 文件重定向到磁盘上的另一个 html 文件?

PHP 无法将上传的文件移动(写入)到挂载的网络驱动器

ueditor 在本地上传是成功的 上传到服务器上就提示失败是啥原因 PHP版的

php为啥上传图片会失败