php fopen()和file_get_contents()的差異詳細解說

韦小宝
發布: 2023-03-20 13:40:01
原創
3110 人瀏覽過

在我們的PHP開發中會常常遇到fopen()和file_get_contents(),相信很多同學都發現這兩個函數基本上都差不多,那麼我們今天就來講講php fopen ()和file_get_contents()的差別到底再哪,廢話少說了,一起來看看吧!

php中讀取檔案可以使用fopen和file_get_contents這兩個函數,二者之間沒有本質區別,只是前者讀取檔案的php程式碼相比後者複雜一點。本篇透過實例向大家講解fopen和file_get_contents讀取檔案的實作程式碼。

fopen讀取檔案的程式碼如下:

<?php
$file_name = "1.txt";
echo $file_name . "
";
$fp = fopen($file_name, &#39;r&#39;);
//$buffer=fgets($fp);
while (!feof($fp)) {
$buffer = fgets($fp);
echo $buffer;
}
fclose($fp);
?>
登入後複製

注意fopen讀取檔案需要配合使用fgets和fclose函數。

file_get_contents讀取檔案的程式碼如下:

<?php
if (file_exists($path)) {
$body = file_get_contents($path);
echo $body; //输入文件内容
} else {
echo "文件不存在 $path";
}
?>
登入後複製

這個函數是一次讀取所有檔案內容並顯示出來,但是如果檔案超大會導致php佔很大的記憶體了。

當然還有像file這種一般是把文件讀成數組了,同時也可以實現讀取文件了

下面給大家介紹下fopen()和file_get_contents( )開啟URL取得網頁內容的用法差異

在php裡,要開啟網頁URL取得網頁內容,比較常用的函數是fopen()和file_get_contents()。如果要求不苛刻,此兩個函數多數情況下是可以根據個人愛好任意選擇的,本文談下此兩函數的用法有什麼區別,以及使用時需要注意的問題。

fopen()開啟URL

下面是一個使用fopen()開啟URL的範例:

<?php
$fh = fopen(&#39;http://www.php.cn/&#39;, &#39;r&#39;);
if($fh){
while(!feof($fh)) {
echo fgets($fh);
}
}
?>
登入後複製

從此範例可以看到,fopen()開啟網頁後,返回的$fh不是字串,不能直輸出的,還要用到fgets()這個函數來取得字串。 fgets()函數是從檔案指標讀取一行。檔案指標必須是有效的,必須指向由 fopen() 或 fsockopen() 成功開啟的檔案(並還未由 fclose() 關閉)。

可知,fopen()傳回的只是一個資源,如果開啟失敗,本函數傳回 FALSE 。

file_get_contents()開啟URL

下面是使用file_get_contents()開啟URL的範例:

<?php
$fh= file_get_contents(&#39;http://www.php.cn/&#39;);
echo $fh;
?>
登入後複製

從此範例看到,file_get_contents()開啟網頁後,傳回的$fh是一個字串,可以直接輸出的。

透過上面兩個例子的對比,可以看出使用file_get_contents()開啟URL,也許是更多人的選擇,因為其比fopen()更簡單便捷。

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

相關文章推薦:

這篇文章主要介紹了PHP開啟和關閉檔案操作函數總結,本文講解的就是fopen()和fclose()

PHP fopen()和fclose()函數的用法總結

PHP fopen和fwrite函數實作建立html頁面。想法 用fopen函數和fread函數得到模板...

PHP fopen和fwrite函數實作建立html頁面

#

以上是php fopen()和file_get_contents()的差異詳細解說的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板