目錄
PHP目錄的功能
1.建立一個新目錄
2.列出目錄的內容
3.關閉目錄
4.更改目前目錄
5. To Change the Directory Path of Root
6. To Reset the Directory Handle
Conclusion

PHP目錄

Aug 29, 2024 pm 01:09 PM
php

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

熱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教學
1655
14
CakePHP 教程
1414
52
Laravel 教程
1307
25
PHP教程
1254
29
C# 教程
1228
24
適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

解釋PHP中的晚期靜態綁定(靜態::)。 解釋PHP中的晚期靜態綁定(靜態::)。 Apr 03, 2025 am 12:04 AM

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

php程序在字符串中計數元音 php程序在字符串中計數元音 Feb 07, 2025 pm 12:12 PM

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

PHP和Python:比較兩種流行的編程語言 PHP和Python:比較兩種流行的編程語言 Apr 14, 2025 am 12:13 AM

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? 什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? Apr 03, 2025 am 12:03 AM

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

PHP:網絡開發的關鍵語言 PHP:網絡開發的關鍵語言 Apr 13, 2025 am 12:08 AM

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

See all articles