php讀取文件
案例一
復制代碼 代碼如下:
<?php
$file = 'jb51.net.php';
//本案例不支持遠程
$fso = fopen($file, 'r');
echo $data = fread($fso, filesize($file));
fclose($fso);
?>
fopen() 將 file 指定的名字資源綁定到一個流上.
filesize 返回文件大小的字節數,如果出錯返回 FALSE.
注: 因為 PHP 的整數類型是有符號的,並且大多數平台使用 32 位整數,filesize() 函數在碰到大於 2GB 的文件時可能會返回非預期的結果.對於 2GB 到 4GB 之間的文件通常可以使用 sprintf("%u", filesize($file)) 來克服此問題.
fread() 從文件指針 handle 讀取最多 length 個字節. 該函數在讀取完 length 個字節數,或到達 EOF 的時候,或(對於網絡流)當一個包可用時就會停止讀取文件,視乎先碰到哪種情況.
說明:低版本用法!建議php5用file_get_contents
案例二
復制代碼 代碼如下:
<?php
$file = 'jb51.net.php';
//支持遠程
$file = 'http://www.jb51.net';//
echo $data = implode('', file($file));
?>
file -- 把整個文件讀入一個數組中
說明
讀取二進制的文件
案例三
復制代碼 代碼如下:
<?php
$file = 'http://www.jb51.net';
echo file_get_contents($file);
?>
file_get_contents -- 將整個文件讀入一個字符串
說明
string file_get_contents ( string filename [, int use_include_path [, resource context]])
和 file() 一樣,只除了 file_get_contents() 將文件返回為一個字符串.
file_get_contents() 函數是用來將文件的內容讀入到一個字符串中的首選方法.如果操作系統支持還會使用內存映射技術來增強性能.