php fopen()和file_get_contents() 區(qū)別介紹
php中讀取文件可以使用fopen和file_get_contents這兩個函數(shù),二者之間沒有本質區(qū)別,只是前者讀取文件的php代碼相比后者要復雜一點。本文章通過實例向大家講解fopen和file_get_contents讀取文件的實現(xiàn)代碼。
fopen讀取文件的代碼如下:
<?php
$file_name = "1.txt";
echo $file_name . "
";
$fp = fopen($file_name, 'r');
//$buffer=fgets($fp);
while (!feof($fp)) {
$buffer = fgets($fp);
echo $buffer;
}
fclose($fp);
?>
注意fopen讀取文件需要配合使用fgets和fclose函數(shù)。
file_get_contents讀取文件的代碼如下:
<?php
if (file_exists($path)) {
$body = file_get_contents($path);
echo $body; //輸入文件內容
} else {
echo "文件不存在 $path";
}
?>
這個函數(shù)是一次性讀取所有文件內容并顯示出來,但是如果文件超大會導致php占很大的內存了。
當然還有像file這種一般是把文件讀成數(shù)組了,同時也可以實現(xiàn)讀取文件了
下面給大家介紹下fopen()和file_get_contents()打開URL獲得網頁內容的用法區(qū)別
在php里,要想打開網頁URL獲得網頁內容,比較常用的函數(shù)是fopen()和file_get_contents()。如果要求不苛刻,此兩個函數(shù)多數(shù)情況下是可以根據(jù)個人愛好任意選擇的,本文談下此兩函數(shù)的用法有什么區(qū)別,以及使用時需要注意的問題。
fopen()打開URL
下面是一個使用fopen()打開URL的例子:
<?php
$fh = fopen('http://www.baidu.com/', 'r');
if($fh){
while(!feof($fh)) {
echo fgets($fh);
}
}
?>
從此例子可以看到,fopen()打開網頁后,返回的$fh不是字符串,不能直輸出的,還需要用到fgets()這個函數(shù)來獲取字符串。fgets()函數(shù)是從文件指針中讀取一行。文件指針必須是有效的,必須指向由 fopen() 或 fsockopen() 成功打開的文件(并還未由 fclose() 關閉)。
可知,fopen()返回的只是一個資源,如果打開失敗,本函數(shù)返回 FALSE 。
file_get_contents()打開URL
下面是一個使用file_get_contents()打開URL的例子:
<?php
$fh= file_get_contents('http://www.baidu.com/');
echo $fh;
?>
從此例子看到,file_get_contents()打開網頁后,返回的$fh是一個字符串,可以直接輸出的。
通過上面兩個例子的對比,可以看出使用file_get_contents()打開URL,也許是更多人的選擇,因為其比fopen()更簡單便捷。
不過,如果是讀取比較大的資源,則是用fopen()比較合適。
本站其他內容推薦
1、jackass yak fold wayside Orlando endospore thraldom scamper shivery cologne
2、保護森林英語(protect forests中文翻譯,protect forests是什么意思,protect forests發(fā)音、用法及例句)
3、show index中文翻譯,show index是什么意思,show index發(fā)音、用法及例句
4、研究方法英文(research method中文翻譯,research method是什么意思,research method發(fā)音、用法及例句)
5、hOC中文翻譯,hOC是什么意思,hOC發(fā)音、用法及例句
6、it is believed that中文翻譯,it is believed that是什么意思,it is believed that發(fā)音、用法及例句
7、htbp縮寫是什么意思,htbp的全稱及含義,htbp全稱意思大全
8、葡萄糖英語,glucose是什么意思,glucose中文翻譯,glucose發(fā)音、用法及例句
9、櫥窗的櫥組詞,櫥組詞,櫥字可以組什么詞,櫥怎么組詞,櫥字的組詞有哪些
版權聲明: 本站僅提供信息存儲空間服務,旨在傳遞更多信息,不擁有所有權,不承擔相關法律責任,不代表本網贊同其觀點和對其真實性負責。如因作品內容、版權和其它問題需要同本網聯(lián)系的,請發(fā)送郵件至 舉報,一經查實,本站將立刻刪除。