-
-
$filename = '/path/to/foo.txt';
- if (file_exists($filename)) {
- echo "The file $filename exists";
- } else {
- echo "The file $filename does not exist";
- }
- ?>
複製代碼
如果檔案存在,執行該PHP 檔案的顯示結果是:The file C:blablaphphello.txt exists.
如果檔案不存在,執行該 PHP 檔案的顯示結果是:The file C:blablaphphello.txt does not exist.
也可以用file_exists 函數測試某個目錄是否存在,範例程式碼:
-
-
if (file_exists("C:blablaphp"))
- {echo "yes";}
- else
- {echo "no";}
- ?>
複製程式碼
實例
-
-
/**
- * 檔案或目錄權限檢查函數
- *
- * @access public
- * @param string $file_path 檔案路徑
- * @param bool $rename_prv 是否在檢查修改權限時檢查執行rename ()函數的權限
- *
- * @return int 回傳值的值範圍為{0 * 傳回值在二進位計數法中,四位由高到低分別代表
- * 可執行rename()函數權限、可對檔案追加內容權限、可寫入檔案權限、可讀取檔案權限。
- */
- function file_mode_info($file_path)
- {
- {
- **如果不存在,則不可讀、不可寫、不可改*/
- if (!file_exists($file_path))
- {
- return false;
- }
- $mark = 0;
- if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN')
- {
- /* 測試檔案*/
- $test_file = $file_path . '/cf_test.txt';
- /* 如果是目錄*/
- if (is_dir($file_path))
- {
- /* 檢查目錄是否可讀取*/
- $dir = @opendir($file_path);
- if ($dir === false)
- {
- return $mark; //如果目錄開啟失敗,直接回傳目錄不可修改、不可寫、不可讀
- }
- if ( @readdir($dir) !== false)
- {
- $mark ^= 1; //目錄可讀001,目錄不可讀000
- }
- @closedir($dir);
- /* 檢查目錄是否可寫入*/
- $fp = @fopen($test_file, 'wb');
- if ($fp === false)
- {
- return $mark ; //如果目錄中的檔案建立失敗,回傳不可寫。
- }
- if (@fwrite($fp, 'directory access testing.') !== false)
- {
- $mark ^= 2; //目錄可寫可讀011,目錄可寫入不可讀010
- }
- @fclose($fp);
- @unlink($test_file);
- /* 檢查目錄是否可修改*/
- $fp = @fopen( $test_file, 'ab+');
- if ($fp === false)
- {
- return $mark;
- }
- if (@fwrite($fp, "modify test. rn") !== false)
- {
- $mark ^= 4;
- }
- @fclose($fp);
- /* 檢查目錄下是否有執行rename()函數的權限*/
- if (@rename($test_file, $test_file) !== false)
- {
- $mark ^= 8;
- }
- @unlink($test_file);
- }
- /* 如果是檔案*/
- elseif (is_file($file_path))
- {
- /* 以讀取方式開啟*/
- $fp = @fopen($ file_path, 'rb');
- if ($fp)
- {
- $mark ^= 1; //可讀001
- }
- @fclose($fp);
- /* 試著修改檔案*/
- $fp = @fopen($file_path, 'ab+');
- if ($fp && @fwrite($fp, '') !== false)
- {
- $mark ^= 6; //可修改可寫可讀111,不可修改可寫可讀011...
- }
- @fclose($fp);
- /* 檢查目錄下是否有執行rename()函數的權限*/
- if (@rename($test_file, $test_file) !== false)
- {
- $mark ^= 8;
- }
- }
- }
- else
- {
- if (@is_readable($file_path))
- {
- $mark ^= 1;
- }
- if (@ is_writable($file_path))
- {
- $mark ^= 14;
- }
- }
- return $mark;
- }
?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 🎜>複製程式碼
-
-
- PHP判斷目錄是否存在的範例:
-
-
-
-
-
-
/*---------------
- * 將xml資料流,寫入到xml檔
- * @param $xmlData
- * @return bool|string
- */
- function writeXmlFile($xmlData)
- {
$time = time(); //取得時間戳,用於為檔案命名 $path = dirname(__FILE__); //取得目前絕對路徑$path = substr_replace($path, "", stripos($path, "actionsdata" )); //將此檔案所在的固有路徑替換成空$path .= "xmlFiles"; //存放目錄名稱/*判斷目標目錄是否存在,不存在則新建*/if(!is_dir($path)){mkdir($path); //新目錄}/*記錄完整路徑和檔案名稱*/$filePathAndName = $path.$time.".xml";/*開啟文件,文件名稱為 + <.xml>*/$fp = fopen($filePathAndName, "w");if(!$fp){return false;}/*寫入檔案流*/$flag = fwrite($fp, $xmlData);if(!$flag){return false;}fclose($fp);return $filePathAndName;}?> 複製程式碼
|