2013-10-02 81 views
0

我的本地主機我的腳本生成一個不存在的文件,並且一切似乎都正常。現在我已經上傳了腳本在服務器上。我一直在試圖在服務器公共html上創建一個文件。但fopen無法創建文件PHP:fopen無法在服務器上創建文件public_html

$file = '/home/mysite/public_html/contacts.xml'; 
chmod($file, 0777); 
if(!($f = fopen($file, "w"))){ 
echo "error openning file<br />"; 
} 

我總是得到'錯誤打開文件'。

+0

是'/家庭/ mysite的/的public_html/contacts.xml'的絕對路徑的文件在服務器上?您的服務器上的文件路徑將與本地主機不同。 – Jeemusu

+0

是它的絕對路徑。我不知道爲什麼它不能工作,但在'mysite2'上工作 – Snippet

+0

它可能是你的本地機器上的'/ home/mysite/public_html /',但它在你的服務器上完全不同。嘗試回顯'getcwd()',你會發現你的服務器有不同的文件結構。 – Jeemusu

回答

1

你必須通過FTP或者您的Web服務器安全的Web管理界面設置的搭配chmod 777是不可能通過PHP設置

+0

我應該設置public_html嗎? – Snippet

+0

是可能的,但不建議。 創建一些文件夾,然後將您的chmod設置爲777 某些網絡服務器的安全性禁用chmod rw爲public_html –

+1

必須有一個比公共可訪問目錄具有世界可寫性更好的方法。就像可能將一個組分配給apache用戶,以允許它寫入。 – Anachronist

相關問題