關於php fread()提示

來源:互聯網
上載者:User

說明
string fread ( int handle, int length )
fread() 從檔案指標 handle 讀取最多 length 個位元組。該函數在讀取完最多 length 個位元組數,或到達 EOF 的時候,或(對於網路流)當一個包可用時,或(在開啟使用者空間流之後)已讀取了 8192 個位元組時就會停止讀取檔案,視乎先碰到哪種情況。
返回所讀取的字串,如果出錯返回 FALSE。 複製代碼 代碼如下:<?php
// get contents of a file into a string
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize ($filename));
fclose($handle);
?>

警告
在區分二進位檔案和文字檔的系統上(如 Windows)開啟檔案時,fopen() 函數的 mode 參數要加上 'b'。 複製代碼 代碼如下:<?php
$filename = "c:\\files\\somepic.gif";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize ($filename));
fclose($handle);
?>

警告
當從任何不是普通本地檔案讀取時,例如在讀取從遠程檔案或 popen() 以及 proc_open() 返回的流時,讀取會在一個包可用之後停止。這意味著應該如下例所示將資料收集起來合并成大塊。 複製代碼 代碼如下:<?php
// 對 PHP 5 及更高版本
$handle = fopen("http://www.example.com/", "rb");
$contents = stream_get_contents($handle);
fclose($handle);
?>

<?php
$handle = fopen ("http://www.example.com/", "rb");
$contents = "";
while (!feof($handle)) {
$contents .= fread($handle, 8192);
}
fclose($handle);
?>

注意: 如果只是想將一個檔案的內容讀入到一個字串中,用 file_get_contents(),它的效能比上面的代碼好得多。
額外:
file_get_contents
(PHP 4 >= 4.3.0, PHP 5)
file_get_contents -- 將整個檔案讀入一個字串
說明
string file_get_contents ( string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] )

和 file() 一樣,只除了 file_get_contents() 把檔案讀入一個字串。將在參數 offset 所指定的位置開始讀取長度為 maxlen 的內容。如果失敗,file_get_contents() 將返回 FALSE。
file_get_contents() 函數是用來將檔案的內容讀入到一個字串中的首選方法。如果作業系統支援還會使用記憶體映射技術來增強效能。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.