file_get_contents(): file_get_contents()函數用於將文件讀入字符串。它使用服務器支持的內存映射技術,從而通過使其成為讀取文件內容的首選方式來提高性能。要讀取的文件的路徑作為參數發送給函數,成功時返回讀取的數據,失敗時返回 FALSE。
用法:
file_get_contents($path, $include_path, $context, $start, $max_length)
參數: file_get_contents()PHP 中的函數接受 1 個強製參數和 4 個可選參數。
- $path:它指定要檢查的文件或目錄的路徑。
- $include_path: 它是一個可選參數,如果設置為 1,也會在 include_path(在 php.ini 中)的文件中搜索文件。
- $context: 它是一個可選參數,用於指定自定義上下文。
- $start:它是一個可選參數,用於指定文件中讀取的起點。
- $max_length: 它是一個可選參數,用於指定要讀取的字節數。
返回值:成功時返回讀取數據,失敗時返回 FALSE。
錯誤和異常:如果要打開帶有特殊字符(例如空格)的文件,需要先使用PHP對其進行編碼urlencode().
file_get_contents()函數返回布爾值 FALSE,但也可能返回計算結果為 FALSE 的非布爾值。
如果找不到文件名、$maxlength 小於零或者在流中查找指定偏移量失敗,則會生成 E_WARNING 級別錯誤。
例子:此示例說明將文件轉換為字符串。我們將使用file_get_contents()函數。我們將指定 URL 鏈接作為重定向到給定站點的參數。
PHP
<?php
// Reading 36 bytes starting from
// the 0th character from gfg.txt
$text = file_get_contents('gfg.txt', false, NULL, 0, 36);
echo $text;
?>
gfg.txt:以下是所有示例中使用的該文件的內容。
A computer science portal for geeks
輸出:
A computer science portal for geeks
file_put_contents() file_put_contents()PHP 中的函數是一個內置函數,用於將字符串寫入文件。這file_put_contents()函數檢查用戶想要寫入的文件,如果該文件不存在,則會創建一個新文件。
用戶想要寫入的文件的路徑和必須寫入的數據作為參數發送給函數,成功時返回寫入文件的字節數,失敗時返回 FALSE。
用法:
file_put_contents($file, $data, $mode, $context)
參數: 這file_put_contents()PHP 中的函數接受兩個強製參數和兩個可選參數。
- $file: 它指定要寫入的文件。
- $data: 它指定必須寫入文件的數據。它可以是字符串、數組或數據流。
- $context:它是一個可選參數,用於指定自定義上下文或流的行為。
- $mode: 它是一個可選參數,用於指定如何將數據寫入文件,例如FILE_USE_INCLUDE_PATH、FILE_APPEND、LOCK_EX。
返回值:成功時返回寫入文件的字節數,失敗時返回 FALSE。
錯誤和異常:file_put_contents() 函數返回布爾值 FALSE,但也可能返回計算結果為 FALSE 的非布爾值。如果提供的目錄無效,此函數將無法寫入內容。
例子:
Input : file_put_contents("gfg.txt", "A computer science portal for geeks!"); Output : 36 Input : $file_pointer = 'gfg.txt'; $open = file_get_contents($file_pointer); $open .= "A computer science portal for geeks!"; file_put_contents($file_pointer, $open); Output : 36
示例 1:以下示例程序旨在說明file_put_contents()函數。
PHP
<?php
// Writing content on gfg.txt
echo file_put_contents("gfg.txt",
"A computer science portal for geeks!");
?>
輸出:
36
示例 2:
PHP
<?php
$file_pointer = 'gfg.txt';
// Open the file to get existing content
$open = file_get_contents($file_pointer);
// Append a new person to the file
$open .= "A computer science portal for geeks!";
// Write the contents back to the file
file_put_contents($file_pointer, $open);
?>
輸出:
36
file_get_contents() 和 file_put_contents() 函數之間的區別:file_get_contents() 和 file_put_contents() 函數之間的主要區別在於,file_get_contents() 函數將文件讀取為字符串,而file_put_contents() 函數將字符串寫入文件。
讓我們以表格形式看看差異:
file_get_contents() | file_put_contents() | |
1. | file_get_contents() 函數將文件讀入字符串。 | file_put_contents() 函數將數據寫入文件。 |
2. |
它的語法是-: file_get_contents(路徑、include_path、上下文、開始、max_length) |
它的語法是-: file_put_contents(文件名、數據、模式、上下文) |
3. | 其返回值為string否則失敗時返回 false。 | 它的返回值是成功寫入文件的字節數,否則返回 false。 |
4. | 它是二進製安全的。 | 它是二進製安全的。 |
5. | PHP 版本 4.3+ 支持 | PHP 版本 5.0+ 支持它 |
相關用法
- PHP file_get_contents()用法及代碼示例
- PHP file_get_contents和cURL的區別用法及代碼示例
- PHP file_exists()用法及代碼示例
- PHP file_put_contents()用法及代碼示例
- PHP fileatime()用法及代碼示例
- PHP filectime()用法及代碼示例
- PHP fileperms()用法及代碼示例
- PHP file()用法及代碼示例
- PHP fileowner()用法及代碼示例
- PHP filemtime()用法及代碼示例
- PHP fileinode()用法及代碼示例
- PHP filegroup()用法及代碼示例
- PHP filetype()用法及代碼示例
- PHP filesize( )用法及代碼示例
- PHP filter_var_array()用法及代碼示例
- PHP filter_has_var()用法及代碼示例
- PHP filter_id()用法及代碼示例
- PHP filter_input()用法及代碼示例
- PHP filter_input_array()用法及代碼示例
- PHP filter_list()用法及代碼示例
- PHP filter_var()用法及代碼示例
- PHP finfo_close()用法及代碼示例
- PHP finfo_set_flags()用法及代碼示例
- PHP finfo_open()用法及代碼示例
- PHP finfo_buffer()用法及代碼示例
注:本文由純淨天空篩選整理自佚名大神的英文原創作品 What is the difference between file_get_contents() and file_put_contents() functions in PHP?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。