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。

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

預設情況下,Windows11不會在檔案總管中顯示資料夾大小,但是,您可以在資源管理器設定中進行某些變更以使其可見。在本指南中,我們將討論一些顯示資料夾大小的最簡單方法,以便您可以有效地管理PC上的磁碟空間。如何在Windows11上查看資料夾的大小? 1.使用資料夾的「屬性」視窗按+開啟Windows資源管理器視窗。 WindowsE前往要檢查其大小的資料夾,右鍵單擊它,然後從上下文功能表中選擇「屬性」。在資料夾屬性視窗中,前往「常規」標籤並找到「大小」部分以了解資料夾所佔用的空間。 2.啟用“

在本文中,我們將向您展示如何在Windows11/10上將檔案自動複製到另一個資料夾。建立備份是避免資料遺失所必需的。資料遺失可能會發生由於許多原因,如硬碟損壞,惡意軟體攻擊等,您可以透過使用複製和貼上方法或使用第三方工具手動備份資料。你知道你可以在Windows電腦上自動備份資料嗎?我們將在本文中向您展示如何做到這一點。如何讓檔案自動複製到Windows11/10上的另一個資料夾如何使用任務排程器在Windows11/10上自動複製檔案和資料夾到另一個目標資料夾?本文將為您提供詳細指導。請

win11系統為大家更新了很多的新壁紙,因此就會有不少的用戶好奇win11壁紙在哪個文件夾,想要打開來看看這裡面的壁紙,因此我們帶來了教程讓你們可以進入查看壁紙。 win11桌佈在哪個資料夾:一、系統自備桌布:1、先進入我的電腦,然後依序開啟路徑:C:\Windows\Web\Wallpaper。 2.然後進入windows資料夾,就可以看到系統內附的桌布了。二、使用者自存桌布:1、使用者自行安裝的桌布會儲存在:C:\Users(使用者)\xx(目前使用者名稱)\AppData\Local\Microso

最近很多朋友覺得win10的主題不符合自己的審美,想更換主題,在網路上下載以後,發現找不到資料夾了,那麼接下來小編就帶你們去如何尋找win10主題在哪裡資料夾吧。 win10主題在哪個資料夾:一、Win10系統桌布預設存放路徑位置:1.微軟將這些圖片保存在C:\Windows\Web\Wallpaper這個路徑中,其下有是三個不同主題的圖片的預設保存位置,2、花朵和線條和顏色的主題圖片也保存在同名資料夾下!命名原則就是imgXXX,我們只要按照這個原則更改我們希望設定的相關圖片的名稱,將圖片貼到

當您在您的同步資料夾中發現一個或多個項目與Outlook中的錯誤訊息不符時,這可能是因為您更新或取消了會議項目。在這種情況下,您會看到一條錯誤訊息,提示您的本機資料版本與遠端副本有衝突。這種情況通常發生在Outlook桌面應用程式中。您同步的資料夾中的一個或多個項目不符。若要解決衝突,請開啟這些項目,然後重試此操作。修復同步的資料夾中的一個或多個項目不符合Outlook錯誤在Outlook桌面版中,當本機行事曆項目與伺服器副本發生衝突時,可能會遇到問題。不過,幸運的是,有一些簡單的方法可以幫助您

更新了最新的win11系統之後,大部分的小夥伴都不清楚自己的資料夾該怎麼去加密保護隱私,因此我們為大家帶來了方法,一起看看win11電腦資料夾怎麼設定密碼吧。 win11電腦資料夾怎麼設定密碼:1.首先去找到要加密的資料夾。 2、然後右鍵點選這個資料夾,選擇「屬性」。 3、在點選屬性下面的「高級」。 4.勾選選單中的「加密內容以便保護資料」並點選確定。 5.最後回到資料夾的屬性,在彈出的視窗中點選「確定」即可。

Windows資料夾包含Windows作業系統,是Windows電腦中的重要資料夾。預設情況下,Windows安裝在C碟上。因此,C是Windows資料夾的預設目錄。每台Windows計算機都有一個Windows資料夾。然而,一些用戶報告說,在C盤中發現了兩個Windows資料夾。在這篇文章中,我們將解釋如果你遇到這樣的情況你可以做些什麼。 C盤中的兩個Windows資料夾在C盤中有兩個Windows資料夾的情況很少見。然而,如果你遇到這樣的情況,你可以使用以下建議:執行反惡意軟體掃描嘗試找出正確
![如何在 Windows 11 上隱藏和取消隱藏資料夾 [3 種方式]](https://img.php.cn/upload/article/000/887/227/169542942766265.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
隱藏資料夾是保持桌面井井有條的好方法。也許您想讓您的個人文件或一些客戶詳細資料遠離窺探。不管是什麼,在必要時將它們收起來並取消隱藏的能力是一個很大的節省。簡而言之,這些隱藏檔案不會顯示在主選單中,但它們仍然可以存取。這非常簡單,不應該花費您太多時間。如何在Windows11中隱藏資料夾? 1.使用檔案總管打+鍵開啟檔案總管。 WindowsE找到要隱藏的資料夾,右鍵點選它,然後選擇屬性。導覽至常規選項卡,選取隱藏框,按一下應用,然後按一下確定。在下一個對話方塊中,選取將變更套用至此資料夾,子文
