PHP讀取文件并可支持遠(yuǎn)程文件的代碼分享
更新時(shí)間:2012年10月03日 23:34:44 作者:
PHP技巧:讀取文件并可支持遠(yuǎn)程文件,給出三個(gè)案例,讓你更容易理解 php讀取文件
php讀取文件
案例一
<?php
$file = 'jb51.net.php';
//本案例不支持遠(yuǎn)程
$fso = fopen($file, 'r');
echo $data = fread($fso, filesize($file));
fclose($fso);
?>
fopen() 將 file 指定的名字資源綁定到一個(gè)流上.
filesize 返回文件大小的字節(jié)數(shù),如果出錯(cuò)返回 FALSE.
注: 因?yàn)?PHP 的整數(shù)類型是有符號(hào)的,并且大多數(shù)平臺(tái)使用 32 位整數(shù),filesize() 函數(shù)在碰到大于 2GB 的文件時(shí)可能會(huì)返回非預(yù)期的結(jié)果.對(duì)于 2GB 到 4GB 之間的文件通??梢允褂?sprintf("%u", filesize($file)) 來(lái)克服此問(wèn)題.
fread() 從文件指針 handle 讀取最多 length 個(gè)字節(jié). 該函數(shù)在讀取完 length 個(gè)字節(jié)數(shù),或到達(dá) EOF 的時(shí)候,或(對(duì)于網(wǎng)絡(luò)流)當(dāng)一個(gè)包可用時(shí)就會(huì)停止讀取文件,視乎先碰到哪種情況.
說(shuō)明:低版本用法!建議php5用file_get_contents
案例二
<?php
$file = 'jb51.net.php';
//支持遠(yuǎn)程
$file = 'http://www.dhdzp.com';//
echo $data = implode('', file($file));
?>
file -- 把整個(gè)文件讀入一個(gè)數(shù)組中
說(shuō)明
讀取二進(jìn)制的文件
案例三
<?php
$file = 'http://www.dhdzp.com';
echo file_get_contents($file);
?>
file_get_contents -- 將整個(gè)文件讀入一個(gè)字符串
說(shuō)明
string file_get_contents ( string filename [, int use_include_path [, resource context]])
和 file() 一樣,只除了 file_get_contents() 將文件返回為一個(gè)字符串.
file_get_contents() 函數(shù)是用來(lái)將文件的內(nèi)容讀入到一個(gè)字符串中的首選方法.如果操作系統(tǒng)支持還會(huì)使用內(nèi)存映射技術(shù)來(lái)增強(qiáng)性能.
案例一
復(fù)制代碼 代碼如下:
<?php
$file = 'jb51.net.php';
//本案例不支持遠(yuǎn)程
$fso = fopen($file, 'r');
echo $data = fread($fso, filesize($file));
fclose($fso);
?>
fopen() 將 file 指定的名字資源綁定到一個(gè)流上.
filesize 返回文件大小的字節(jié)數(shù),如果出錯(cuò)返回 FALSE.
注: 因?yàn)?PHP 的整數(shù)類型是有符號(hào)的,并且大多數(shù)平臺(tái)使用 32 位整數(shù),filesize() 函數(shù)在碰到大于 2GB 的文件時(shí)可能會(huì)返回非預(yù)期的結(jié)果.對(duì)于 2GB 到 4GB 之間的文件通??梢允褂?sprintf("%u", filesize($file)) 來(lái)克服此問(wèn)題.
fread() 從文件指針 handle 讀取最多 length 個(gè)字節(jié). 該函數(shù)在讀取完 length 個(gè)字節(jié)數(shù),或到達(dá) EOF 的時(shí)候,或(對(duì)于網(wǎng)絡(luò)流)當(dāng)一個(gè)包可用時(shí)就會(huì)停止讀取文件,視乎先碰到哪種情況.
說(shuō)明:低版本用法!建議php5用file_get_contents
案例二
復(fù)制代碼 代碼如下:
<?php
$file = 'jb51.net.php';
//支持遠(yuǎn)程
$file = 'http://www.dhdzp.com';//
echo $data = implode('', file($file));
?>
file -- 把整個(gè)文件讀入一個(gè)數(shù)組中
說(shuō)明
讀取二進(jìn)制的文件
案例三
復(fù)制代碼 代碼如下:
<?php
$file = 'http://www.dhdzp.com';
echo file_get_contents($file);
?>
file_get_contents -- 將整個(gè)文件讀入一個(gè)字符串
說(shuō)明
string file_get_contents ( string filename [, int use_include_path [, resource context]])
和 file() 一樣,只除了 file_get_contents() 將文件返回為一個(gè)字符串.
file_get_contents() 函數(shù)是用來(lái)將文件的內(nèi)容讀入到一個(gè)字符串中的首選方法.如果操作系統(tǒng)支持還會(huì)使用內(nèi)存映射技術(shù)來(lái)增強(qiáng)性能.
您可能感興趣的文章:
- php遍歷、讀取文件夾中圖片并分頁(yè)顯示圖片的方法
- PHP讀取文件的常見幾種方法
- php fread讀取文件注意事項(xiàng)
- thinkPHP+PHPExcel實(shí)現(xiàn)讀取文件日期的方法(含時(shí)分秒)
- PHP中讀取文件的幾個(gè)方法總結(jié)(推薦)
- php文件操作小結(jié)(刪除指定文件/獲取文件夾下的文件名/讀取文件夾下圖片名)
- PHP使用fopen與file_get_contents讀取文件實(shí)例分享
- PHP讀取文件內(nèi)容的五種方式
- php從文件夾隨機(jī)讀取文件的方法
- php讀取文件內(nèi)容到數(shù)組的方法
- PHP中讀取文件的8種方法和代碼實(shí)例
- PHP按行讀取文件時(shí)刪除換行符的3種方法
- php讀取文件內(nèi)容的幾種方法詳解
- php與c 實(shí)現(xiàn)按行讀取文件實(shí)例代碼
相關(guān)文章
用Zend Studio+PHPnow+Zend Debugger搭建PHP服務(wù)器調(diào)試環(huán)境步驟
作為一名非專業(yè)的PHP開發(fā)者,想要較方便地讀懂并搞清楚一個(gè)PHP功能模塊的運(yùn)行細(xì)節(jié),搭建一個(gè)PHP調(diào)試環(huán)境,然后單步調(diào)試程序,以掌握程序的整個(gè)運(yùn)行過(guò)程顯的尤為重要2014-01-01
php安裝dblib擴(kuò)展,連接mssql的具體步驟
下面小編就為大家?guī)?lái)一篇php安裝dblib擴(kuò)展,連接mssql的具體步驟。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03
在Linux系統(tǒng)下一鍵重新安裝WordPress的腳本示例
這篇文章主要介紹了在Linux系統(tǒng)下一鍵重新安裝WordPress的腳本示例,尤其適用于VPS服務(wù)器上進(jìn)行操作,需要的朋友可以參考下2015-06-06
使用PHP提取視頻網(wǎng)站頁(yè)面中的FLASH地址的代碼
這幾天工作中需要寫個(gè)程序?qū)τ谝粋€(gè)視頻網(wǎng)站地址,如優(yōu)酷的某個(gè)地址,提取出其中的FLASH地址來(lái)。2010-04-04
關(guān)于使用key/value數(shù)據(jù)庫(kù)redis和TTSERVER的心得體會(huì)
本篇文章是對(duì)使用key/value數(shù)據(jù)庫(kù)redis和TTSERVER的心得體會(huì)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php XMLWriter類的簡(jiǎn)單示例代碼(RSS輸出)
這是一段寫博客RSS的代碼,需要的朋友可以參考下。2011-09-09
c#中的實(shí)現(xiàn)php中的preg_replace
最近在按照一個(gè)php項(xiàng)目用c#重寫,一邊學(xué)習(xí)同時(shí)發(fā)現(xiàn)了他們的神似神不似的很多地方2009-12-12

