我的服務器上禁用了chmod(),但我仍然希望用戶能夠通過PHP創建只讀文件,有沒有辦法做到這一點?PHP:創建沒有chmod的只讀文件()
0
A
回答
6
你不能,因爲這是不可能把任何一個只讀文件...
編輯其實,還有一種方法:
<?php
$u = umask(0377); // disables --wxrwxrwx permissions
$f = fopen("test", "w");
umask($u);
fwrite($f, "this is a test\n");
fclose($f);
?>
% php foo.php
% ls -l test
-r-------- 1 xxx xxx 14 19 May 10:27 test
% cat test
this is a test
的umask
操作允許你創建讀/寫文件描述符,即使底層目錄條目是隻讀的。
0
作爲解決方法,您可以先使用file_put_contents()
存儲文件,然後使用ftp_chmod()
來更改文件權限。
其他選項將通過命令行,但如果chmod
被禁用,那麼exec
也不太可能工作。如果您的託管服務商同時停用了這兩種服務,那麼這可能是有原因的。 (如果只是爲了減少支持成本)。
相關問題
- 1. NSFileManager - 創建只讀文件
- 2. 使用MinGW如何創建沒有隻讀文件屬性的文件?
- 3. 讀CHMOD像用PHP
- 4. php move_uploaded_file沒有創建文件
- 5. 用C++創建一個只讀文件
- 6. 創建一個只讀文件
- 7. 使用Python創建只讀pdf文件
- 8. 如何創建非只讀文件夾
- 9. 在Ubuntu中爲所有新創建的文件設置chmod值
- 10. PHP rCopy設置文件chMod?
- 11. 有沒有辦法創建一個不可變(只讀)的XDocument?
- 12. PHP沒有警告創建新文件:「沒有這樣的文件」
- 13. php創建zip文件夾內沒有文件路徑
- 14. file_column沒有創建文件,只是空的tmp目錄
- 15. Php ZipArchive創建沒有所有文件夾的zip
- 16. 爲什麼我的PHP腳本無法chmod它創建的文件?
- 17. 如何創建沒有SQL和只有PHP的註銷?
- 18. 只有Chmod遞歸目錄?
- 19. PHP沒有讀取整個CSV文件
- 20. PHP readdir沒有讀取一些文件
- 21. Maven佈局結構創建。只有資源文件夾是可見的,沒有創建Java文件夾
- 22. 只有REG存在創建txt文件
- 23. PHP文件只有特定的擴展創建一個ZIP壓縮文件
- 24. 創建文本文件沒有BOM
- 25. 創建沒有BOM的屬性文件
- 26. 沒有創建文件的Gulp
- 27. 的Android FileOutputStream中沒有創建文件
- 28. 創建沒有MS Office的PDF文件
- 29. PHP沒有創建會話
- 30. 創建沒有在PHP
除了Alnitak之外的任何人:如果你的頭腦難以理解umask值(像我的那樣),記住權限位文件是與umask(並在反轉後移除執行位)。因此,使用該umask,新創建的文件將是0400(或者-r --------如果您更喜歡這種方式)。 – 2011-05-19 09:30:33