回答
是的,它的文件夾的工作....如果文件存在並且可寫
返回TRUE。 filename參數可以是一個目錄名稱,允許您檢查目錄是否可寫。
根據PHP手冊is_writable應該在目錄上工作正常。
根據the documentation for is_writable,它應該只是工作 - 但你說「文件夾」,所以這可能是a Windows issue。意見建議a workaround。
(之前的一個匆忙的閱讀讓我覺得後面的斜槓很重要,但事實證明這個工作是特定的)。
您可以發送一個完整的文件路徑is_writable()
功能。如果該文件尚不存在於目錄中,則is_writable()
將返回false。如果是這種情況,您需要檢查目錄本身,並刪除文件名。如果你這樣做,is_writable
會正確地告訴你該目錄是否可寫。如果$file
包含您的文件路徑做到這一點:
$file_directory = dirname($file);
然後使用is_writable($file_directory)
,以確定是否該文件夾是可寫的。
我希望這可以幫助別人。
這是代碼:)
<?php
$newFileName = '/var/www/your/file.txt';
if (! is_writable(dirname($newFileName))) {
echo dirname($newFileName) . ' must writable!!!';
} else {
// blah blah blah
}
啊,`dirname($ new_file_name)`,這比我打算做的更簡單。我打算使用`pathinfo($ new_file_name,PATHINFO_DIRNAME)`。謝謝。 – 2014-04-24 07:57:23
成爲所有者/組/世界
$dir_writable = substr(sprintf('%o', fileperms($folder)), -4) == "0774" ? "true" : "false";
和平更具體的...
這個功能應該改進。現在它將返回false,例如`0777`的權限。 – 2016-01-27 13:27:58
這是我要做的事:
用file_put_contents()
創建一個文件並檢查返回值,如果是肯定的(寫入的數量字節),那麼你可以繼續做你必須做什麼,如果是假的,然後它不可寫
$is_writable = file_put_contents('directory/dummy.txt', "hello");
if ($is_writable > 0) echo "yes directory it is writable";
else echo "NO directory it is not writable";
,那麼你可以使用的unlink()
unlink('directory/dummy.txt');
雖然這在技術上有效,但絕對不是推薦的方法。文件系統操作相對較慢,會產生大量開銷,所以創建一個虛擬文件然後刪除/取消鏈接它比其他大多數方法慢得多。 – Byson 2015-07-29 11:27:23
刪除虛擬文件我寫了一個小腳本(我把它叫做isWritable。php),它檢測腳本所在的同一目錄中的所有目錄,並寫入該頁面以確定每個目錄是否可寫。希望這可以幫助。
<?php
// isWritable.php detects all directories in the same directory the script is in
// and writes to the page whether each directory is writable or not.
$dirs = array_filter(glob('*'), 'is_dir');
foreach ($dirs as $dir) {
if (is_writable($dir)) {
echo $dir.' is writable.<br>';
} else {
echo $dir.' is not writable. Permissions may have to be adjusted.<br>';
}
}
?>
- 1. 如何檢查是否可以將文件寫入目錄?
- 2. 如何檢查目錄是否可以被UID寫入?
- 3. 如何檢查目錄是否可以在win32 C/winapi中寫入?
- 4. 檢查是否每個人都可以讀取/寫入目錄
- 5. 如何讓PHP可以寫入目錄?
- 6. 在.NET中,檢查當前用戶是否可以寫入目錄
- 7. 如何檢查目錄是否存在?
- 8. 如何檢查目錄是在線PHP
- 9. 如何檢查目錄是否是Python中的臨時目錄
- 10. 如何判斷一個目錄是否可以在Objective-C中寫入?
- 11. 如何通過PHP檢查目錄是否存在?
- 12. 如何檢查PHP流資源是否可讀或可寫?
- 13. 如何檢查stdout是否已寫入?
- 14. 檢查目錄是否可讀
- 15. 如何有效檢查SD卡是否存在且可寫入?
- 16. 如何檢查目錄下是否存在特定目錄?
- 17. 如何檢查目錄以查看它是否有文件
- 18. 檢查lua中是否存在目錄?
- 19. 如何檢查IIS目錄是否是虛擬目錄?
- 20. 檢查模型,以查看Yii中是否存在記錄-PHP
- 21. 如何在java中檢查目錄的寫入權限?
- 22. 如何檢查文件是否存在於目錄中或不在PHP中?
- 23. 是否可以爲php和javascript註釋添加拼寫檢查
- 24. 如何檢查目錄內容是否因PHP而改變?
- 25. 如何使用PHP來檢查一個目錄是否爲空?
- 26. 如何在Perl中檢查Windows上是否存在Unicode目錄?
- 27. 如何在shell腳本中檢查目錄是否存在?
- 28. 如何輪詢目錄以檢查是否添加新文件?
- 29. .NET - 檢查目錄是否可以正常訪問
- 30. C++:如何檢查文件/目錄是否可讀? (PHP等效:is_readable)
訣竅是你不能在你真正想測試的文件夾中指定一個尚不存在的*文件*只需指定文件夾即可。 – philfreo 2010-09-24 17:33:51