如果我在php中使用mkdir()創建一個文件夾,它具有www-data:www-data用戶和755權限。chmod 777在php
問題是我不能用ftp用戶(zapbe:psasrv)刪除這個文件夾 我試圖在PHP中用chmod($ path,「0777」)修改文件夾,但這不起作用。
如何使創建的文件夾和上傳的文件對於www數據和ftp用戶都可讀/可移動?
如果我在php中使用mkdir()創建一個文件夾,它具有www-data:www-data用戶和755權限。chmod 777在php
問題是我不能用ftp用戶(zapbe:psasrv)刪除這個文件夾 我試圖在PHP中用chmod($ path,「0777」)修改文件夾,但這不起作用。
如何使創建的文件夾和上傳的文件對於www數據和ftp用戶都可讀/可移動?
bool chmod (string $filename , int $mode)
在PHP中,他們可能是在安全一定的侷限性,因此,根據你的配置可能無法正常工作。
上述函數返回一個booleon讓你知道它是否成功地改變了實體的權限。
if(!chmod($directory,0777))
{
echo "Unable to chmod $direcotry";
}
另外,從PHP報價:
當前用戶是執行PHP的用戶。它可能與您用於普通shell或FTP訪問的用戶不同。只有在大多數系統上擁有該文件的用戶才能更改該模式。
理解上面,你應該看看chown
刪除雙引號和嘗試,並檢查文件
chmod($path, 0777)
的默認所有者當您創建* nix中一個文件夾的其他用戶就不必刪除/修改該文件夾的能力。
改變創建的文件夾的WWW的數據的權限,從瀏覽器中的PHP腳本運行的命令,它應該更新成功
注不要把新的權限在雙引號,它需要一個 八進制數
chmod($path, 0777);
// not chmod($path, "0777);
一旦你做到這一點任何人都可以修改文件夾
爲了刪除目錄,您需要在父目錄上有寫權限,而不是在要刪除的目錄上有寫權限。爲了提供對父進程的寫訪問權,一個好的方法是使某個組的所有者擁有www-data和您的ftp用戶都是其成員,並且從不使用777權限。此外,請確保您的父文件夾沒有設置粘滯位。
你試過設置模式明確? `mkdir(「/ path/to/my/dir」,0777);` – miku 2011-02-16 16:36:23