2011-08-01 46 views
0

可能重複:
How do I configure PHP to have permission to create directories and make files?如何讓PHP創建目錄和子目錄並能夠寫入它們?

我怎樣才能讓PHP創建目錄和子目錄,並能夠對其進行寫操作?

我的主人告訴我,我需要安裝suPHP才能做到這一點,但我寧願不在現場安裝Mod,尤其是對於聽起來很簡單的東西(創建dirs並寫入它們) 。

基本上,我需要PHP能夠在我的web根目錄下的一個文件夾中創建目錄和子目錄,然後能夠寫入這些目錄和子目錄。

此外,mkdir()不起作用。

謝謝。

+0

嗯,你可能有一些[安全模式](http://www.php.net/manual/en/ini.sect.safe-mode。 PHP)的設置在此刻有效? – Wrikken

+0

如果不理解文件系統的權限,你就無法解決這個問題。 http://www.dartmouth.edu/~rc/help/faq/permissions.html – Josh

回答

1
+0

我已經試過了,它不工作。任何想法爲什麼? – ProgrammerGirl

+0

首先確保PHP對您正在嘗試創建目錄的文件夾擁有寫入權限。 –

+0

這就是我在主機出現問題的地方。我如何爲該文件夾提供PHP寫入權限?在具有寫入權限後,它是否能夠創建儘可能多的目錄和子目錄,並且能夠向其寫入文件?謝謝。 – ProgrammerGirl

0

你嘗試使用mkdir('dirname')?請注意,您可能需要對根文件夾擁有W權限,否則您將無法真正創建新目錄。

+0

mkdir無法使用。使webroot文件夾具有寫入權限是否存在安全風險? – ProgrammerGirl

+0

@編程器您可以將要創建/寫入的目錄的所有權更改爲「apache」(取決於運行Web服務器的用戶)。 – jeroen

+0

我的主人告訴我有關FACL的事情?你知道那是關於什麼以及是否能解決它? – ProgrammerGirl

-1

suPHP將幫助您解決許可問題,這可能是您當前的問題。您可能需要組合chmod()mkdir()才能創建可供您的Web用戶寫入的目錄。你需要在這些文件夾上的許可將是0777.

+0

是的,但我該怎麼做? – ProgrammerGirl

+0

您是否閱讀過我爲上述兩個函數鏈接的文檔?從你的第一個文件夾開始,並使用chmod()賦予0777 permision:chmod(')。/') 然後,您可以開始使用mkdir創建目錄,並請閱讀文檔,以便在創建目錄時使用第二個mkdir函數參數來設置權限。 –

+0

-1你幾乎不需要777 ......糟糕的,危險的建議。 – Josh