PHP 檔案系統 file() 函式



PHP 檔案系統file() 函式用於將整個檔案讀取到一個數組中,陣列中的每個元素對應檔案中的每一行,包括換行符。

此函式讀取檔案的全部內容,然後將每一行放入陣列元素中。這是一種逐行讀取檔案或將全部內容作為陣列獲取的有用方法。

語法

以下是 PHP 檔案系統file() 函式的語法:

array file ( string $filename 
   [, int $flags = 0 
      [, resource $context ]] )

引數

以下是file() 函式的必需和可選引數:

序號 引數及描述
1

filename(必需)

顯示要讀取的檔案的路徑。

2

flags(可選)

指定可選標誌。它是一個整數,可以修改函式的行為。預設值為 0。

3

context(可選)

指定建立的有效上下文資源。

返回值

如果檔案成功讀取,則file() 函式返回一個數組,其中包含檔案每一行作為元素。如果發生錯誤,則返回 FALSE。

PHP 版本

file() 函式最初作為 PHP 4 核心的一部分引入,並且與 PHP 5、PHP 7、PHP 8 相容。

示例

因此,我們將使用 PHP 檔案系統file() 函式列印函式中指定的檔案的內容。以下是此示例的簡單演示:

<?php
   print_r(file("/PhpProject/sample.txt"));
?> 

輸出

這將產生以下結果:

Array
(
    [0] => Tutorialspoint

    [1] => Tutorix

    [2] => TP
)

示例

此程式展示了file() 函式的使用,以及如何從檔案內容中刪除換行符。FILE_IGNORE_NEW_LINES 標誌用於忽略每一行的換行符,確保它們不包含在陣列元素中。

<?php
    $fileLines = file('/Applications/XAMPP/xamppfiles/htdocs/mac/sample.txt', FILE_IGNORE_NEW_LINES);
    foreach ($fileLines as $line) {
        echo $line . "<br>";
    }
?> 

輸出

這將生成以下結果:

Hello World

Tutorialspoint

Information Security

Web Browser

示例

此 PHP 示例程式碼將向您展示如何使用file() 函式讀取遠端檔案,即檔案位於 Web 伺服器上。

<?php
    // Read a remote file
    $fileLines = file('https:///mac/sample.txt');
    foreach ($fileLines as $line) {
        echo $line . "<br>";
    }
?> 

輸出

這將建立以下結果:

Hello World

Tutorialspoint

示例

此 PHP 程式碼展示瞭如何讀取遠端檔案的內容,以及如何在 PHP 的file() 函式的幫助下指定自定義 HTTP 標頭。我們還使用stream_context_create() 設定了流上下文,這使我們能夠指定 HTTP 標頭

<?php
    // Read a file with context options
    $context = stream_context_create([
        'http' => [
            'header' => 'User-Agent: PHP',
        ],
    ]);
    $fileLines = file('https:///mac/sample.txt', 0, $context);
    foreach ($fileLines as $line) {
        echo $line . "<br>";
    }
?> 

輸出

這將導致以下結果:

Hello World

Tutorialspoint

Information Security

Web Browser

注意

file() 函式將整個檔案讀取到記憶體中,這可能會導致記憶體洩漏,因此在使用它時要小心檔案大小,尤其是在處理大型檔案時。

總結

file() 方法改進了並簡化了 PHP 的檔案讀取功能,但使用者在處理大型檔案時應注意潛在的記憶體問題。

php_function_reference.htm
廣告