2012-10-22 158 views
1

我有一個網絡主機上的PHP文件如下:PHP文件不寫入當前目錄?

<?php 

file_put_contents('test.txt','TEST');  
echo 'OK'; 

?> 

但不創建test.txt文件,當我從瀏覽器上執行該頁面。爲什麼不?這是一個權限問題?

+2

這當然是一個權限問題。 – Florent

回答

2

是PHP的醫生說

如果文件名不存在,則創建該文件。否則,現有文件將被覆蓋,除非設置了FILE_APPEND標誌。

,這只是如果你寫有該文件夾的權限....嘗試

error_reporting(E_ALL); 
ini_set("display_errors", "on"); 

if (! is_writable(__DIR__)) { 
    trigger_error("I don't have permission"); 
} 

file_put_contents('test.txt', 'TEST'); 
+0

如何給apache進程寫入該文件夾的權限? – CJ7

+0

您必須更改當前文件夾的所有者或文件夾的權限。 –

+0

這很簡單..我建議你在你的默認目錄下做這些...創建一個名爲'data'的目錄,使用你的ftp客戶端將權限設置改爲0777或者使用'chmod(「/ somedir」,755 );'..如果你不是所有者,它將無法工作,因此請使用ftp選項代替 – Baba

1

爲什麼不呢?這是一個權限問題?

你應該問自己的問題是爲什麼你不知道?

該代碼將產生錯誤或警告 - 爲什麼你不知道那是什麼?

這可能是一個權限問題 - 權限是什麼? BTWE:在您的文檔根目錄中寫入內容到執行PHP的目錄是一個巨大的安全漏洞。即如果這是一個權限問題,那麼更改權限就是錯誤的解決方法