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)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。