2011-09-20 289 views
4

我有一個PHP上傳如下如何解決:UPLOAD_ERR_CANT_write值:7,無法寫入文件到磁盤

<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 
} 

它通過在我的本地,但是當我在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

vi t.txt 

我不能寫使用命令文件到tmp目錄我無法保存更改。它返回該錯誤

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的杜-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 /

這是遠從全。任何人都可以告訴我爲什麼?

回答

3

你檢查過目錄是否可寫/你檢查了所有權限嗎?該錯誤表示由於權限問題,您無法寫入該文件。

+8

磁盤空間不足是另一個原因。如果/ tmp受到大小限制,上傳可能會填滿它。 –

+0

是的,這個問題是由於磁盤空間不足造成的。謝謝 – user955461