搜尋
首頁php教程php手册php資料夾與檔案目錄操作函數介紹_php基礎

php資料夾操作函數

string basename ( string path [, string suffix] )
給予一個包含有指向一個檔案的全路徑的字串,本函數傳回基本的檔名。如果檔名是以 suffix 結束的,那麼這部分也會被去掉。
在 Windows 中,斜線(/)和反斜線()都可以用作目錄分隔符號。在其它環境下是斜線(/)。

string dirname ( string path )

給出一個包含有指向一個檔案的全路徑的字串,本函數傳回去掉檔案名稱後的目錄名稱。
在 Windows 中,斜線(/)和反斜線()都可以用作目錄分隔符號。在其它環境下是斜線(/)。

array pathinfo ( string path [, int options] )

pathinfo() 傳回一個聯合陣列包含有 path 的資訊。包括以下的陣列單元:dirname,basename 和 extension。
可以透過參數 options 指定要傳回哪些單元。它們包括:PATHINFO_DIRNAME,PATHINFO_BASENAME 和 PATHINFO_EXTENSION。預設是回傳全部的單元。

string realpath ( string path )

realpath() 擴展所有的符號連接並且處理輸入的 path 中的 ‘/./', ‘/../' 以及多餘的 ‘/' 並返回規範化後的絕對路徑名。在返回的路徑中沒有符號連接,'/./' 或 ‘/../' 成分。
realpath() 失敗時回傳 FALSE,例如說檔案不存在的話。在 BSD 系統上,如果只是 path 不存在的話,PHP 並不會像其它系統那樣回傳 FALSE。

bool is_dir ( string filename )

如果檔案名稱存在並且為目錄則傳回 TRUE。如果 filename 是一個相對路徑,則按照目前工作目錄檢查其相對路徑。
註: 本函數的結果會被快取。更多資訊請參閱 clearstatcache()。

resource opendir ( string path [, resource context] )

開啟一個目錄句柄,可用於之後的 closedir(),readdir() 和 rewinddir() 呼叫中。

string readdir ( resource dir_handle )

傳回目錄中下一個檔案的檔案名稱。檔案名稱以在檔案系統中的排序傳回。

void closedir ( resource dir_handle )

關閉由 dir_handle 指定的目錄流。流必須之前被 opendir() 所打開。

void rewinddir ( resource dir_handle )

將 dir_handle 指定的目錄流重設到目錄的開頭。

array glob ( string pattern [, int flags] )

glob() 函數依照 libc glob() 函數所使用的規則尋找所有與 pattern 相符的檔案路徑,類似於一般 shells 所使用的規則一樣。不進行縮寫擴充或參數替代。
傳回一個包含有符合檔案/目錄的陣列。如果出錯則回傳 FALSE。

有效標記為:
GLOB_MARK - 在每個傳回的項目中加上斜線
GLOB_NOSORT - 依照檔案在目錄中出現的原始順序傳回(不排序)
GLOB_NOCHECK - 如果沒有文件匹配則傳回用於搜尋的模式
GLOB_NOESCAPE - 反斜線不轉義元字元
GLOB_BRACE - 擴充{a,b,c} 來匹配'a','b' 或'c'
GLOB_ONLYDIR - 僅傳回與模式相符的目錄項目

附註: 在PHP 4.3.3 版本之前GLOB_ONLYDIR 在Windows 或其它不使用GNU C 函式庫的系統上不可用。
GLOB_ERR - 停止並讀取錯誤訊息(例如說不可讀的目錄),預設的情況下忽略所有錯誤
附註: GLOB_ERR 是 PHP 5.1 新增的。

php檔案目錄操作

新檔案
1、先確定要寫入檔案的內容
$content = '你好';
2、開啟這個檔案(系統會自動建立這個空檔案)
/ /假設新建的檔案叫file.txt,而且在上級目錄下。 w表示‘寫文件',$fp下面要用到,表示指向某個打開的文件。
$fp = fopen('../file.txt', 'w');
3、將內容字串寫入檔案
//$fp告訴系統要寫入的文件,寫入的內容是$content
fwrite($fp, $content);
4、關閉檔案
fclose($fp);
說明:PHP5中提供了更方便的函數file_put_contents,上面的4步驟可以這樣完成:
$content = '你好';
file_put_contents('file.txt',$content);

刪除檔案
//刪除目前目錄下的arch目錄下的檔案abc.txt
unlink('arch/abc.txt');
說明:系統會回傳操作結果,成功則回傳TRUE,失敗則回傳FALSE,可以用變數接收,就知道是否刪除成功:
$deleteResult = unlink('arch/abc.txt');

取得檔案內容
//假設取得的目標檔案名稱是file.txt,而且在上級目錄下。取得的內容放入$content。
$content = file_get_contents('../file.txt');

修改檔案內容
操作方法與新建內容基本上一樣

重新命名檔案或目錄
//將目前目錄下的子目錄a下面的檔案1.gif重新命名為2.gif。
rename('/a/1.gif', '/a/2.gif');
說明:對目錄也是一樣。系統會回傳操作結果,成功則回傳 TRUE,失敗則回傳 FALSE,可以用變數接收,就知道是否重新命名成功。
$renameResult = rename('/a/1.gif', '/a/2.gif');
如果要移動檔案或目錄,只要將重命名後的路徑設定為新的路徑就可以了:
//將目前目錄下的子目錄a下面的檔案1.gif,移動到目前目錄下的子目錄b,並且重新命名為2.gif。
rename('/a/1.gif', '/b/2.gif');
不過要注意,如果目錄b不存在,就會移動失敗。

複製檔案
//將目前目錄下的子目錄a下面的檔案1.gif,複製到目前目錄下的子目錄b,並命名為2.gif。
copy('/a/1.gif', '/b/1.gif');
說明:不能對目錄進行此項操作。
如果目標檔案(上面的/b/1.gif)已經存在,原來的檔案將會被覆蓋。
系統會回傳操作結果,成功則回傳 TRUE,失敗則回傳 FALSE,可以用變數接收,就知道是否複製成功。
$copyResult = copy('/a/1.gif', '/b/1.gif');

移動檔案或目錄
操作方法和重新命名一樣

檔案或目錄是否存在
//檢查上級目錄下的檔案logo.jpg是否存在。
$existResult = file_exists('../logo.jpg');
說明:如果檔案存在系統回傳true,否則回傳false。可以對目錄進行同樣的操作。

取得檔案大小
//取得上級目錄下的檔案logo.png的大小。
$size = filesize('../logo.png');
說明:系統會傳回一個數字,表示檔案的大小是多少位元組(bytes)。

新建目錄
//在目前目錄下的目錄a下方新建目錄b。
mkdir('/a/b');
說明:系統會回傳操作結果,成功則回傳TRUE,失敗則回傳FALSE,可以用變數接收,就知道是否新建成功:
$mkResult = mkdir('/a/b');

刪除目錄
//刪除目前目錄下的目錄a下面的子目錄b。
rmdir('/a/b');
說明:只能刪除非空的目錄,否則必須先刪除目錄下的子目錄和文件,再刪除總目錄
系統會傳回操作結果,成功則回傳TRUE,失敗則回傳FALSE,可以用變數接收,就知道是否刪除成功:
$deleteResult = rmdir('/a/b');

取得目錄中的所有檔案名稱
1、先開啟要操作的目錄,並用一個變數指向它
//開啟目前目錄下的目錄pic下的子目錄common。
$handler = opendir('pic/common');
2、循環的讀取目錄下的所有檔案
/*其中$filename = readdir($handler)是每次循環的時候將讀取的檔名賦值給$filename,為了不陷於死循環,所以還要讓$filename !== false。一定要用!==,因為如果某個檔名如果叫'0',或是某些被系統認為是代表false,用!=就會停止循環*/
while( ($filename = readdir($ handler)) !== false )  {
      3、目錄下都會有兩個文件,名字為'.'和'..',不要對他們進行操作
      if($filename != "." && $filename != "..") {
      4、進行處理
      //這裡簡單的用echo輸出檔案名稱
      echo $filename 5、關閉目錄
closedir($handler);

物件是否為目錄
//檢查上級目錄下的目標物件logo.jpg是否為目錄。
$checkResult = is_dir('../logo.jpg');
說明:如果目標物件是目錄系統回傳true,否則回傳false。上面範例的$checkResult當然是false。

物件是否為檔案
//檢查上級目錄下的目標物件logo.jpg是否為檔案。
$checkResult = is_file('../logo.jpg');
說明:如果目標物件是文件,系統回傳true,否則回傳false。上面例子的$checkResult當然是true。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中