溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP如何使用fopen與file_get_contents讀取文件

發(fā)布時(shí)間:2021-08-31 11:37:09 來(lái)源:億速云 閱讀:158 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下PHP如何使用fopen與file_get_contents讀取文件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

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; //輸入文件內(nèi)容
} else {
echo "文件不存在 $path";
}
?>

這個(gè)函數(shù)是一次性讀取所有文件內(nèi)容并顯示出來(lái),但是如果文件超大會(huì)導(dǎo)致php占很大的內(nèi)存了。

當(dāng)然還有像file這種一般是把文件讀成數(shù)組了,同時(shí)也可以實(shí)現(xiàn)讀取文件了

下面給大家介紹下fopen()和file_get_contents()打開URL獲得網(wǎng)頁(yè)內(nèi)容的用法區(qū)別

在php里,要想打開網(wǎng)頁(yè)URL獲得網(wǎng)頁(yè)內(nèi)容,比較常用的函數(shù)是fopen()和file_get_contents()。如果要求不苛刻,此兩個(gè)函數(shù)多數(shù)情況下是可以根據(jù)個(gè)人愛(ài)好任意選擇的,本文談下此兩函數(shù)的用法有什么區(qū)別,以及使用時(shí)需要注意的問(wèn)題。

fopen()打開URL

下面是一個(gè)使用fopen()打開URL的例子:

<?php
$fh = fopen('http://www.baidu.com/', 'r');
if($fh){
while(!feof($fh)) {
echo fgets($fh);
}
}
?>

從此例子可以看到,fopen()打開網(wǎng)頁(yè)后,返回的$fh不是字符串,不能直輸出的,還需要用到fgets()這個(gè)函數(shù)來(lái)獲取字符串。fgets()函數(shù)是從文件指針中讀取一行。文件指針必須是有效的,必須指向由 fopen() 或 fsockopen() 成功打開的文件(并還未由 fclose() 關(guān)閉)。

可知,fopen()返回的只是一個(gè)資源,如果打開失敗,本函數(shù)返回 FALSE 。

file_get_contents()打開URL

下面是一個(gè)使用file_get_contents()打開URL的例子:

<?php
$fh= file_get_contents('http://www.baidu.com/');
echo $fh;
?>

從此例子看到,file_get_contents()打開網(wǎng)頁(yè)后,返回的$fh是一個(gè)字符串,可以直接輸出的。

通過(guò)上面兩個(gè)例子的對(duì)比,可以看出使用file_get_contents()打開URL,也許是更多人的選擇,因?yàn)槠浔萬(wàn)open()更簡(jiǎn)單便捷。

不過(guò),如果是讀取比較大的資源,則是用fopen()比較合適。

以上是“PHP如何使用fopen與file_get_contents讀取文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI