搜尋

PHP 目錄函數,顧名思義,是一組用於檢索詳細資訊、修改詳細資訊以及獲取有關各種檔案系統目錄及其特定內容的資訊的函數。可以對目錄執行許多操作,例如建立、刪除、更改目前工作目錄、列出目錄中存在的檔案等。這些函數不需要單獨安裝,因為它們是 PHP 核心的一部分。但要啟用 chroot() 功能,我們需要設定 –enable-chroot-func 選項。

廣告 該類別中的熱門課程 PHP 開發人員 - 專業化 | 8 門課程系列 | 3次模擬測驗

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

PHP目錄的功能

讓我們來了解一些基本的 PHP 目錄功能,如下:

1.建立一個新目錄

我們使用 mkdir() 函數在 PHP 程式腳本中建立一個新目錄。

文法:

mkdir($dir_path,$mode,$recursive_flag,$context);

哪裡,

  • $dir_path 是將建立指定的新目錄的相對路徑或絕對路徑。
  • $mode 是採用八進位值的參數,它決定新建立的目錄的可存取等級。
  • $recursive 是一個標誌類型字段,有 2 個值 true 或 false,可以允許我們建立巢狀目錄或不允許。
  • $context 與 PHP unlink() 類似,例如使用流來指定某些協定等。這也將只傳回一個布林值,如果執行成功完成,則該值將為 true,否則為 false。

範例:

<?php mkdir("/articles/");
echo("Directory created");
?>

輸出:

PHP目錄

這是一個基本範例,展示了在我們需要的路徑中建立目錄。確保路徑有足夠的權限,否則將拋出「權限被拒絕」錯誤。

2.列出目錄的內容

我們分別使用 opendir() 和 readdir() 來開啟目錄連結並讀取它。第 1 步是開啟目錄,第 2 步是讀取它。

第 1 步: 要打開目錄鏈接,opendir() 是我們用來執行此步驟的函數。它需要兩個輸入參數,如下所示。

文法:

opendir($dir_path,$context);
  • $dir_path 是需要開啟的目錄的路徑。
  • $context 是一個可選參數,我們可以在其中指定上下文流是否存在。

這將傳回資源資料值作為其輸出。它提供的資源 ID 將在我們的進一步處理步驟中使用,否則我們會收到錯誤,因為資源 ID 無效。

第2步:要讀取目錄的內容,readdir()就是用於此目的的函數,需要遞歸調用它直到目錄到達目錄末尾手柄。

範例

<?php $direct = "/files/";
if (is_dir($direct)){
if ($td = opendir($direct)){
while (($file = readdir($td)) !== false){
echo "filename:" . $file . "<br>";
}
closedir($td);
}
}
?>

輸出:

PHP目錄

首先在這個範例中,我們宣告需要讀取的目錄路徑。我們正在 if 語句中檢查該目錄是否存在,然後繼續開啟該目錄的內容並讀取。輸出顯示目錄中存在的檔案名稱。

3.關閉目錄

我們使用 Closedir() 函數來在讀取目錄內容後關閉目錄。

文法:

$dir_handle = opendir($dir_path);
...
...
closedir($dir_handle);

範例:

<?php $dir = "/file1";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
$direc = readdir($dh);
echo("File present inside directory are:" .direc);
closedir($dh);
echo("Closed directory");
}
}
?>

輸出:

PHP目錄

在此範例中,我們首先聲明目錄的路徑。然後使用 if 條件語句檢查路徑是否有效,如果有效,則開啟目錄,讀取其變量,然後關閉它。因此,在目錄的開啟和關閉之間可以進行任何操作。

4.更改目前目錄

我們使用函數 chdir() 來更改它指向的目前工作目錄。

文法:

chdir(directory)

它只需要一個參數,也就是目前工作目錄應該指向的目錄。成功時傳回 true,如果更改目錄失敗則傳回 false。

範例:

<?php // Get current directory
echo getcwd()."\n";
// Change directory
chdir("/workspace/test");
// Get current directory
echo getcwd();
?>

輸出:

PHP目錄

In this example, we are first printing the present working directory. Then we are changing the same using chdir function to “test” directory and printing the same on the output. Hence make sure the entire path we are giving here exists.

5. To Change the Directory Path of Root

We use the function chroot() for changing the root directory of the ongoing process to the directory path we pass as an argument in this function. Also, the present working directory path will be changed to “/”. To perform this function one needs root permission/privileges.

Syntax:

chroot(directory)

Example:

<?php // Changing root directory path
chroot("/change/path/dir/");
// Displaying present directory
echo getcwd();
?>

Output:

PHP目錄

In this example, we are first using the chroot function to change the path of the root directory. Next, we are displaying the present working directory which will be now changed to home path.

6. To Reset the Directory Handle

For this purpose, we are using rewinddir() function which can reset the directory handle initially created by opendir() function.

Syntax:

rewinddir(directory)

It accepts only the directory path as its input argument which is used to tell the directory handle resource path which was opened with opendir() previously. This is an optional parameter which if not specified then the previous link used by the opendir() will be considered.

Example:

<?php $direc = "/file/";
// To open the directory and read its contents
if (is_dir($direc)){
if ($place = opendir($direc)){
// List files in images directory
while (($file = readdir($place)) !== false){
echo "filename:" . $file . "\n";
}
rewinddir();
echo("Using the function rewinddir\n");
// List files again
while (($file = readdir($place)) !== false){
echo "filename:" . $file . "\n";
}
closedir($place);
echo("Closed directory");
}
}
?>

Output:

PHP目錄

In this example first, we are specifying the directory path and if statement we are using to verify if the directory path is present or not. If the directory is present then we are opening and reading the contents of the file and printing the same. Now the file handler will stop printing since it reached the end of file pointer. When we use the rewinddir() function it resets the file handler and hence when we print the directory contents it prints the same output again.

Conclusion

We have gone through some of the basic and important PHP directory functions commonly used in this article. We also noticed that a few of these functions are dependant on each other. For example, we cannot use readdir() without using opendir(). Few other functions which are used are dir(), scandir() and getcwd().

以上是PHP目錄的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
繼續使用PHP:耐力的原因繼續使用PHP:耐力的原因Apr 19, 2025 am 12:23 AM

PHP仍然流行的原因是其易用性、靈活性和強大的生態系統。 1)易用性和簡單語法使其成為初學者的首選。 2)與web開發緊密結合,處理HTTP請求和數據庫交互出色。 3)龐大的生態系統提供了豐富的工具和庫。 4)活躍的社區和開源性質使其適應新需求和技術趨勢。

PHP和Python:探索他們的相似性和差異PHP和Python:探索他們的相似性和差異Apr 19, 2025 am 12:21 AM

PHP和Python都是高層次的編程語言,廣泛應用於Web開發、數據處理和自動化任務。 1.PHP常用於構建動態網站和內容管理系統,而Python常用於構建Web框架和數據科學。 2.PHP使用echo輸出內容,Python使用print。 3.兩者都支持面向對象編程,但語法和關鍵字不同。 4.PHP支持弱類型轉換,Python則更嚴格。 5.PHP性能優化包括使用OPcache和異步編程,Python則使用cProfile和異步編程。

PHP和Python:解釋了不同的範例PHP和Python:解釋了不同的範例Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP和Python:深入了解他們的歷史PHP和Python:深入了解他們的歷史Apr 18, 2025 am 12:25 AM

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

在PHP和Python之間進行選擇:指南在PHP和Python之間進行選擇:指南Apr 18, 2025 am 12:24 AM

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

PHP和框架:現代化語言PHP和框架:現代化語言Apr 18, 2025 am 12:14 AM

PHP在現代化進程中仍然重要,因為它支持大量網站和應用,並通過框架適應開發需求。 1.PHP7提升了性能並引入了新功能。 2.現代框架如Laravel、Symfony和CodeIgniter簡化開發,提高代碼質量。 3.性能優化和最佳實踐進一步提升應用效率。

PHP的影響:網絡開發及以後PHP的影響:網絡開發及以後Apr 18, 2025 am 12:10 AM

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型?PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型?Apr 17, 2025 am 12:25 AM

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

mPDF

mPDF

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

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

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