我正在使用file_put_contents
創建一個文件。我的php進程正在有權寫入目錄的組中運行。但是,調用file_put_contents
時,生成的文件不具有組寫入權限(第一次創建就好)。這意味着如果我嘗試覆蓋文件,則由於缺少權限而失敗。如何使用具有組寫入權限的file_put_contents創建文件?
有沒有辦法用組寫入權限創建文件?
我正在使用file_put_contents
創建一個文件。我的php進程正在有權寫入目錄的組中運行。但是,調用file_put_contents
時,生成的文件不具有組寫入權限(第一次創建就好)。這意味着如果我嘗試覆蓋文件,則由於缺少權限而失敗。如何使用具有組寫入權限的file_put_contents創建文件?
有沒有辦法用組寫入權限創建文件?
要打開文件並寫入內容,則需要爲文件寫入權限。瞭解這種區別很重要。要覆蓋整個文件,您實際上需要對目錄的寫入權限。
使用chmod()
可以在文件和/或目錄中設置什麼是適當的,如果你想明確它的話。
例1(設置文件權限讀寫的所有者和組,並閱讀其他人):
file_put_contents($filename, $data);
chmod($filename, 0664);
實施例2(使由組文件可寫的,而不改變其它的權限):
file_put_contents($filename, $data);
chmod($filename, fileperms($filename) | 16);
實施例3(使文件可寫的由大家而不改變其他權限):
file_put_contents($filename, $data);
chmod($filename, fileperms($filename) | 128 + 16 + 2);
128,16,2分別表示可寫爲擁有者,組等。
嗯......我對目錄有權限,問題是我想從同一個文件上的不同腳本多次調用file_put_contents,但連續時間失敗。 – 2009-08-06 16:33:49