2016-11-19 28 views
0

我使用php-export-data.class.php,在臨時文件是不可寫,並引發了一些警告爲什麼我的臨時文件不是在/ tmp目錄文件夾可寫 - Linux服務器(CentOS的)

警告: 重命名(/ TMP/exportdatauC7PtH,/報告/ saleslist.xls): 在 /var/www/html/excel/php-export-data.class.php上線沒有這樣的文件或目錄60

這裏是我的代碼:

$this->tempFilename = tempnam(sys_get_temp_dir(), 'exportdata'); 
$this->tempFile = fopen($this->tempFilename, "w"); 

和我行60。

rename($this->tempFilename, $this->filename); 

我試圖給許可755777/tmp目錄,但該文件沒有寫。

謝謝

回答

1

您需要創建所有中間目錄。

爲了將文件重命名爲/tmp/exportdatauC7PtH,/report/saleslist.xls,您需要先確保目錄/tmp/exportdatauC7PtH,/report/存在。

+0

中間目錄的意思是,請您在deatil中解釋。 –

+0

'exportdatauC7PtH'和'report'是中間目錄。在寫入文件之前,你可以執行'mkdir -p/tmp/exportdatauC7PtH/report'嗎? – jww

+0

是的,我有'報告'目錄755許可。請在php中查看[rename](http://php.net/manual/en/function.rename.php)函數。正是我的問題是臨時文件,即'exportdatauC7PtH'不在'/ tmp'文件夾中寫入。 –

相關問題