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

php資料夾與檔案目錄操作函數介紹_php基礎

May 16, 2016 am 09:00 AM
資料夾 檔案目錄

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

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1662
14
CakePHP 教程
1418
52
Laravel 教程
1311
25
PHP教程
1261
29
C# 教程
1234
24
如何在 Windows 11 上顯示資料夾大小? 如何在 Windows 11 上顯示資料夾大小? Sep 23, 2023 pm 06:13 PM

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

如何讓檔案自動複製到Windows 11/10上的另一個資料夾 如何讓檔案自動複製到Windows 11/10上的另一個資料夾 Feb 19, 2024 am 11:24 AM

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

Win11背景圖儲存位置是什麼? Win11背景圖儲存位置是什麼? Dec 27, 2023 am 11:59 AM

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

如何詳細介紹win10主題資料夾的位置 如何詳細介紹win10主題資料夾的位置 Dec 27, 2023 pm 09:37 PM

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

您同步的資料夾中的一個或多個項目不符合Outlook錯誤 您同步的資料夾中的一個或多個項目不符合Outlook錯誤 Mar 18, 2024 am 09:46 AM

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

win11電腦資料夾設定密碼方法 win11電腦資料夾設定密碼方法 Jan 12, 2024 pm 02:27 PM

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

C磁碟機中有兩個Windows資料夾;我該怎麼辦? C磁碟機中有兩個Windows資料夾;我該怎麼辦? Mar 06, 2024 am 11:55 AM

Windows資料夾包含Windows作業系統,是Windows電腦中的重要資料夾。預設情況下,Windows安裝在C碟上。因此,C是Windows資料夾的預設目錄。每台Windows計算機都有一個Windows資料夾。然而,一些用戶報告說,在C盤中發現了兩個Windows資料夾。在這篇文章中,我們將解釋如果你遇到這樣的情況你可以做些什麼。 C盤中的兩個Windows資料夾在C盤中有兩個Windows資料夾的情況很少見。然而,如果你遇到這樣的情況,你可以使用以下建議:執行反惡意軟體掃描嘗試找出正確

如何在 Windows 11 上隱藏和取消隱藏資料夾 [3 種方式] 如何在 Windows 11 上隱藏和取消隱藏資料夾 [3 種方式] Sep 23, 2023 am 08:37 AM

隱藏資料夾是保持桌面井井有條的好方法。也許您想讓您的個人文件或一些客戶詳細資料遠離窺探。不管是什麼,在必要時將它們收起來並取消隱藏的能力是一個很大的節省。簡而言之,這些隱藏檔案不會顯示在主選單中,但它們仍然可以存取。這非常簡單,不應該花費您太多時間。如何在Windows11中隱藏資料夾? 1.使用檔案總管打+鍵開啟檔案總管。 WindowsE找到要隱藏的資料夾,右鍵點選它,然後選擇屬性。導覽至常規選項卡,選取隱藏框,按一下應用,然後按一下確定。在下一個對話方塊中,選取將變更套用至此資料夾,子文

See all articles