2017-06-05 95 views
0

我想寫到我的本地服務器上的文件,我找不到爲什麼,我還沒有找到任何好的理由,爲什麼我在做什麼不應該工作。PHP寫入服務器上的文件

什麼,我tryed:

file_put_contents("./lol.txt", "Contents"); 
file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/lil.txt", "Contents"); 
file_put_contents($_SERVER['DOCUMENT_ROOT'] . "lal.txt", "Contents"); 
file_put_contents("lel.txt", "Contents"); 

如果需要的話,我會提供任何額外的信息。

+0

你得到了什麼錯誤? –

+0

首先,您應該轉儲「$ _SERVER ['DOCUMENT_ROOT']。」/lil.txt「」路徑並確保該文件不存在。接下來,我建議檢查你的php日誌文件以獲取更多細節。你有文件系統權限寫文件到該文件夾​​? – VirCom

+0

file_put_contents()返回false並且沒有輸出到控制檯soo我搜索了一下並使用了error_get_last()['message']並且它返回了「...未能打開流:Permission denied」,這是我在其他堆棧的答案中找到的到類似的問題(例如:只是改變somefile.txt權限),但直到現在我不應該改變整個目錄權限(chmod +777 dirname),反正這對我來說是什麼,謝謝你@AmitGaud,我不認爲要檢查更多的錯誤。 –

回答

1

使用的realpath - 返回規範化的絕對​​路徑名

file_put_contents(真實路徑( 「somedirectory/somefile.txt」),$內容);

並檢查是否有寫入 訪問權限的文件夾和文件。

+0

正如我在上面的評論中所說的,的確是一個許可問題,謝謝! –