PHP 檔案系統 fopen() 函式



PHP 檔案系統fopen()函式用於開啟檔案或 URL。如果失敗,它可能會返回 false 並在失敗時返回錯誤。我們可以透過在函式名稱前面新增“@”來隱藏錯誤輸出。fopen()函式可以將由檔名指定的名為資源繫結到流。

語法

以下是 PHP 檔案系統fopen()函式的語法 -

resource fopen ( string $filename , string $mode [, bool $use_include_path = FALSE [, resource $context ]] )

引數

以下是fopen()函式的必需和可選引數 -

序號 引數和描述
1

filename(必需)

要開啟的檔案的路徑。

2

mode(必需)

要開啟檔案的模式,例如 - r、w、a、x、r+、w+、a+。

3

use_include_path(必需)

允許在 include_path 中包含搜尋。預設情況下,它設定為 FALSE。

4

resource(必需)

一個資源,指定檔案控制代碼的上下文。

返回值

如果檔案成功開啟,則返回一個資源控制代碼,否則在失敗時返回 FALSE。

PHP 版本

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

示例

在下面的程式碼中,我們將看到 PHP 檔案系統fopen()函式的基本用法,例如我們如何開啟檔案並讀取該檔案,以及如何在開啟檔案後寫入檔案。

<?php
   $file = fopen("/PhpProject/sample.txt", "r");
   $file = fopen("/PhpProject/index.php", "r");
   $file = fopen("/PhpProject/sample1.txt", "wb");
?>

示例

在下面的 PHP 程式碼中,我們將使用fopen()函式以讀取模式 (“r”) 開啟名為“myfile.txt”的檔案。我們將使用 if-else 語句檢查檔案是否已開啟。此外,我們使用 while 迴圈和 fgets()逐行讀取檔案,直到到達檔案末尾。

<?php
   $file = fopen("/PhpProject/myfile.txt", "r");
   if ($file) {
      while (($line = fgets($file)) !== false) {
         echo $line;
      }
      fclose($file);
   } else {
      echo "Failed to open file.";
   }
?> 

輸出

這將產生以下結果 -

This is a sample file.

示例

在此示例中,我們將使用fopen()以寫入模式 w 開啟或建立名為“newfile.txt”的檔案。

<?php
   $file = fopen("newfile.txt", "w");
   if ($file) {
      fwrite($file, "Hello, world!");
      fclose($file);
      echo "Data written to file.";
   } else {
      echo "Failed to open file.";
   }
?> 

輸出

這將導致以下結果 -

Data written to file.

示例

在此示例中,我們將使用fopen()以追加模式“a”開啟或建立名為“log.txt”的檔案。如果檔案已成功開啟或建立,我們將使用 fwrite()將字串追加到檔案。

<?php
   $file = fopen("log.txt", "a");
   if ($file) {
      fwrite($file, "New log entry");
      fclose($file);
      echo "New entry added to log file.";
   } else {
      echo "Failed to open file.";
   }
?> 

輸出

這將生成以下結果 -

New entry added to log file.

注意

檢查fopen()是否返回 false 對於正確處理問題非常重要。在完成任何檔案操作後,始終使用 fclose()關閉檔案控制代碼並釋放資源。

總結

PHP 中的fopen()函式可用於開啟檔案和 URL。程式設計師可以藉助此靈活的函式新增、讀取和寫入檔案,以處理檔案系統。

php_function_reference.htm
廣告