本文主要講述了php中讀取文件的兩種方式:fread 和 file_get_contents,以及這兩者之間同樣是讀取文件,這兩者又有什么異同。
1、兩個函數(shù)的語法:
fread()
fread ( resource $handle , int $length ) : string
$handle:文件系統(tǒng)指針,一般由 fopen() 創(chuàng)建的 resource(資源)。
$length:讀取文件的字節(jié)長度。
返回值: $length長度的字符串。
file_get_contents()
file_get_contents ( string $filename ,bool $include_path=false ,resource $context =? ,int $offset = -1 , int $maxlen = ? ) : string
$filename:要讀取的文件的名稱。
$include_path:如果需要在 include_path(在 php.ini 中)中搜索文件的話,請設(shè)置該參數(shù)為 '1'。
$context:規(guī)定文件句柄的環(huán)境。context 是一套可以修改流的行為的選項。若使用 null,則忽略。
$offset:規(guī)定在文件中開始讀取的位置。該參數(shù)是 PHP 5.1 添加的。
$maxlen:規(guī)定讀取的字節(jié)數(shù)
返回值: $maxlen長度的字符串。
2、兩者的區(qū)別:
fread() 需要通過指針讀取內(nèi)容,可根據(jù) size 大小 讀內(nèi)容
<?php //文件路徑 $filename="./exit.txt"; //獲取文件資源 $file = fopen($filename,'r'); //讀取二進制文件時,需要將第二個參數(shù)設(shè)置成'rb' //獲取文件內(nèi)容 $file_info=fread($file,10); //打印文件內(nèi)容 echo $file_info; //關(guān)閉文件資源 fclose($file); ?>
輸出:
php good b
file_get_contents () 直接讀全部內(nèi)容
<?php //文件路徑 $filename="./exit.txt"; echo file_get_contents($filename); ?>
輸出:
php good better Knowledge is power
fread() 如果想要獲取全部內(nèi)容,則需要利用 filesize() 函數(shù)返回指定文件的大小。
$file_info=fread($file,filesize($filename));