程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP使用fopen與file_get_contents讀取文件實例分享

PHP使用fopen與file_get_contents讀取文件實例分享

編輯:PHP綜合

php中讀取文件可以使用fopen和file_get_contents這兩個函數,二者之間沒有本質區別,只是前者讀取文件的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函數。

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('http://www.baidu.com/', 'r');
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('http://www.baidu.com/');
echo $fh;
?>

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

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

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved