當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP fopen()用法及代碼示例


PHP 中的 fopen() 函數是一個內置函數,用於打開文件或 URL。它用於使用特定文件名將資源綁定到蒸汽。要檢查的文件名和模式作為參數發送到 fopen() 函數,如果找到匹配項,則返回文件指針資源,失敗時返回 False。錯誤輸出可以通過在函數名稱前添加“@”來隱藏。

用法:

resource fopen ( $file, $mode, $include_path, $context)

使用的參數:
PHP 中的 fopen() 函數接受四個參數。

  • $file:它是一個強製參數,用於指定文件。
  • $mode:它是一個強製參數,用於指定文件或流的訪問類型。
    它可以有以下可能的值:
    • “r”:它代表隻讀。它從文件的開頭開始。
    • “r+”:它代表讀/寫。它從文件的開頭開始。
    • “w”:它代表隻寫。它打開並清除文件的內容,如果文件不存在則創建一個新文件。
    • “w+”:它代表讀/寫。如果文件不存在,它會打開並清除文件的內容或創建一個新文件。
    • “a”:它代表隻寫。它打開並寫入文件的末尾,或者如果它不存在則創建一個新文件。
    • “a+”:它代表讀/寫。它通過寫入文件末尾來保留文件的內容。
    • “x”:它代表隻寫。它創建一個新文件並返回 FALSE,如果文件已經存在則返回錯誤。
    • “x+”:它代表讀/寫。它創建一個新文件,如果文件已經存在,則返回 FALSE 和錯誤。
  • $include_path:它是一個可選參數,如果要在 include_path(例如 php.ini)中搜索文件,則設置為 1。
  • $context:它是一個可選參數,用於設置流的行為。

返回值:
成功時返回文件指針資源,錯誤時返回 FALSE。



異常:

  • 寫入文本文件時,應根據平台使用正確的line-ending 字符。例如Unix 係統使用\n,Windows 係統使用\r\n,Macintosh 係統使用\r 作為行結束符。
  • 建議使用 fopen() 打開文件時使用 ‘b’ 標誌。
  • 如果打開失敗,則會生成 E_WARNING 級別的錯誤。
  • 啟用安全模式後,PHP 會檢查運行腳本的目錄是否與正在執行的腳本具有相同的 UID(所有者)。
  • 如果您不確定文件名是文件還是目錄,您可能需要在調用 fopen() 之前使用 is_dir() 函數,因為當文件名是目錄時 fopen() 函數也可能成功。

以下示例程序旨在說明 fopen() 函數。

程序1:


<?php
// Opening a file using fopen() 
// function in read only mode
$myfile = fopen("/home/geeks/gfg.txt", "r") 
                 or die("File does not exist!");
?>

輸出:

File does not exist!

程序2:


<?php 
// Opening a file using fopen() 
// function in read/write mode
$myfile = fopen("gfg.txt", 'r+') 
     or die("File does not exist!");
       
$pointer = fgets($myfile);
echo $pointer;
fclose($myfile);
?>

輸出:

portal for geeks!

程序3:


<?php 
// Opening a file using fopen() function
// in read mode along with b flag
$myfile = fopen("gfg.txt", "rb");
$contents = fread($myfile, filesize($myfile));
fclose($myfile);
print $contents;
?>

輸出:

portal for geeks!

程序4:


<?php 
// Opening a file using fopen() function
// in read/write mode 
$myfile = fopen("gfg.txt", "w+");
  
// writing to file
fwrite($myfile, 'geeksforgeeks');
  
// Setting the file pointer to 0th 
// position using rewind() function
rewind($myfile);
  
// writing to file on 0th position
fwrite($myfile, 'geeksportal');
rewind($myfile);
  
// displaying the contents of the file
echo fread($myfile, filesize("gfg.txt"));
fclose($myfile);
?>

輸出:

geeksportalks

參考:
http://php.net/manual/en/function.fopen.php




相關用法


注:本文由純淨天空篩選整理自Shubrodeep Banerjee大神的英文原創作品 PHP | fopen() (Function open file or URL)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。