PHP使用fopen與file_get_contents讀取檔案執行個體分享_php執行個體

來源:互聯網
上載者:User
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讀取檔案的代碼如下:

<?phpif (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()比較合適。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.