PHP可以很方便的對目錄、文件進行操作,包括創建、讀取、修改、刪除等。
mkdir
bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )mkdir 可以創建 pathname 指定目錄,默認 mode 是0777,在 windows 下被忽略,失敗返回 false。
?phpmkdir( ./test // 在當前目錄創建 test 目錄rmdirbool rmdir ( string $dirname [, resource $context ] )
如上所示,rmdir 可以刪除目錄,需要注意的是該目錄必須為空,而且要有權限,失敗返回 false。示例
?phprmdir( ./test // 刪除當前目錄下的 test 目錄。file_put_contentsint file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
file_put_contents 將 data 寫入 filename 文件中,如果沒有此文件,則創建,失敗返回 false,成功返回寫入字節數。示例
?phpfile_put_contents( ./test.txt , date( Y-m-d H:i:s // 在當前目錄創建 test.txt,并且寫入數據file_put_contents( ./test.txt , date( Y-m-d H:i:s ), FILE_APPEND);// 在 test.txt 文件中,追加數據file_get_contentsstring file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] )
file_get_cntents 讀取 filename 中的內容,返回字符串,失敗返回 false。示例
?phpecho file_get_contents( ./test.txt // 輸出當前目錄下 test.txt 的內容unlinkbool unlink ( string $filename [, resource $context ] )
unlink 刪除 filename 文件,同樣需要注意權限。示例
?phpunlink( ./test.txt // 刪除當前目錄的 test.txtrenamebool rename ( string $oldname , string $newname [, resource $context ] )
rename 不僅可以文件重命名,還可以移動文件,失敗返回 false。示例
?phprename( ./test.txt , ./test1.txt // 當前目錄下的 test.txt 重命名為 test1.txtrename( ./test1.txt , ./test/test.txt // 將當前目錄下的 test1.txt, 移動到 test下copybool copy ( string $source , string $dest [, resource $context ] )
如上所示,失敗返回 false。示例
?phpcopy( ./test/test.txt , ./test1.txt // test 目錄下的test.txt, 拷貝到當前目錄實例及注釋
下面是幾個實例,工作或面試中會用到。
?php * 遍歷目錄下所有文件 * @param $path function getAllFiles($path) if (!is_dir($path)) { exit( 錯誤 echo ul foreach (scandir($path) as $line) { if ($line == . || $line == .. ) { continue; if (is_dir($path . / . $line)) { getAllFiles($path . / . $line); echo li . $path . / . $line . /li echo /ul * 刪除目錄下所有文件 * @param $pathfunction delAllFile($path) if (!is_dir($path)) { exit( 目錄不存在 $dir = opendir($path); while ($filename = readdir($dir)) { if ($filename != . $filename != .. ) { $file = $path . / . $filename; if (is_dir($file)) { delAllFile($file); } else { unlink($file); closedir($dir); rmdir($path);}注釋
mkdir de 中的 recursive 參數,可以嵌套創建目錄;
file_put_contents 中的 flags 參數,可以進行組合,詳情參考鏈接;
file_put_contents 也可能返回等同于 false 的非布爾值,使用===判斷;
file_get_contents 也可以打開 URL,獲取網頁內容;
file_get_contents 如果要打開有特殊字符的 URL (比如說有空格),就需要使用 urlencode() 進行 URL 編碼;
copy 如果目標文件已存在,將會被覆蓋;
以上就是php文件處理函數的詳細介紹(附示例)的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答