如何解决:UPLOAD_ERR_CANT_write值:7,无法将文件写入磁盘

时间:2011-09-20 20:13:29

标签: php linux file-upload

我有一个php上传器,如下所示

<form enctype="multipart/form-data" action="jsonlog.php" method="POST">
    <!-- MAX_FILE_SIZE must precede the file input field -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Name of input element determines name in $_FILES array -->
    Send this file: <input name="file" type="file" />
    <input type="submit" value="Send File" />
</form>

在jsonlog.php中:

if($_FILES['file']['error']>0)
{
    echo "Reading Error: " . $_FILES['file']["error"] . "<br />";
}
else
{
  code to process
}

它传递给我的localhost,但是当我尝试使用linux服务器时,它总是给我错误:

UPLOAD_ERR_CANT_write值:7,无法将文件写入磁盘。谁知道怎么解决?

由于


是的,我查看了tmp目录权限,见下文

drwxrwxrwx   2 bitnami bitnami  4096 2011-09-21 13:34 tmp

我可以使用像

这样的命令在tmp中创建一个新文件
sudo vi test.txt

上传者仍然会返回错误PLOAD_ERR_CANT_write。

还有一件事我不明白:我以bitnami身份登录,我应该完全控制文件夹tmp,但我无法使用没有sudo的命令将文件写入tmp

vi t.txt

我无法保存更改。它返回此错误

E514: write error (file system full?)
WARNING: Original file may be lost or damaged
don't quit the editor until the file is successfully written!

这是df命令的输出

 Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             9.9G  9.4G     0 100% /
devtmpfs              854M  116K  854M   1% /dev
none                  871M     0  871M   0% /dev/shm
none                  871M   48K  871M   1% /var/run
none                  871M     0  871M   0% /var/lock
none                  871M     0  871M   0% /lib/init/rw
/dev/sda2             335G  195M  318G   1% /mnt

但是当我运行sudo du -sh时,输出是

/$ sudo du -sh /
du: cannot access `/proc/32760/task/32760/fd/4': No such file or directory
du: cannot access `/proc/32760/task/32760/fdinfo/4': No such file or directory
du: cannot access `/proc/32760/fd/4': No such file or directory
du: cannot access `/proc/32760/fdinfo/4': No such file or directory
855M    /

远远不够。谁能告诉我为什么?

1 个答案:

答案 0 :(得分:3)

您是否检查过目录是否可写/是否已检查所有权限?该错误表示由于权限问题,您无法编写该文件。