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() 函數是用來將檔案的內容讀入到一個字串中的首選方法.如果作業系統支援還會使用記憶體映射技術來增強效能.