国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php fread讀取文件注意事項

2024-05-04 23:50:27
字體:
供稿:網(wǎng)友

php fread函數(shù)介紹

string fread ( int handle, int length )

fread() 從文件指針 handle 讀取最多 length 個字節(jié)。該函數(shù)在讀取完最多 length 個字節(jié)數(shù),或到達(dá) EOF 的時候,或(對于網(wǎng)絡(luò)流)當(dāng)一個包可用時,或(在打開用戶空間流之后)已讀取了 8192 個字節(jié)時就會停止讀取文件。

fread()實例:

<?php  $file = "data.txt";  $fh = fopen($file, "rt");  $userdata = fread($fh, filesize($file));  fclose($fh);?> 

php使用fread需要注意的幾點

1、fread讀取寫入大文件出錯的解決辦法

使用fread讀取文件時如果超過php.ini中設(shè)置的最大內(nèi)存使用值時 會提示錯誤,下面的方法解決讀取大文件的問題:

<?   set_time_limit(0);//設(shè)置腳本執(zhí)行時間無限長   $flie="flexbuilder_linux_install_a5_112409.bin";//大文件超過php.ini中的內(nèi)存配置   $fp=fopen($flie,"r");   $content="";   $filename="123.bin";//存為新文件   $handle=fopen($filename,"a");//寫入方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建之   while(!feof($fp)){//測試文件指針是否到了文件結(jié)束的位置     $content=fread($fp,1024);     fwrite($handle,$content);   }   fclose($fp);   fclose($handle);   echo "數(shù)據(jù)成功寫入文件"; ?> 

2、php fread()是如何識別文件編碼的

<?php$handler=fopen('a.txt','rb')//二進(jìn)制方式打開$content=fread($handler,1024);echo $content;?>

fread以字符串形式返回,那它是如何識別a.txt使用的編碼方式的呢,才能保證不亂碼的呢?

PHP7.0以下的版本的文件操作中沒有識別字符編碼。

只是按字節(jié)數(shù)據(jù)輸出,如果和php源碼文件和輸出的html的字符編碼一致就能正確顯示。

 3、fread讀取文件總是會多一個空字符

$fileSize = filesize($filePath);$handle = fopen($filePath, "rb"); while (!feof($handle)) {    var_dump(fread($handle, $fileSize));    //會多輸出一次空字符}

當(dāng)我們使用上面代碼讀取文件,有時會多一個空字符。這是因為你是WINDOWS平臺,文件是文本打開存儲的內(nèi)容,末尾會有一個特殊字節(jié)標(biāo)識文件結(jié)束,你用rb打開自然就可以讀到最后那個特殊字節(jié)了。用r打開,fgets讀吧。

通過此文希望能幫助到大家,謝謝大家對本站的支持!


注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 景德镇市| 海丰县| 晋中市| 神农架林区| 南皮县| 竹溪县| 巧家县| 长春市| 双鸭山市| 玛多县| 五峰| 精河县| 巴南区| 宣威市| 南投市| 龙州县| 东至县| 思南县| 阿城市| 和田市| 阿坝县| 漳平市| 始兴县| 九江市| 乌什县| 柞水县| 辽中县| 雅江县| 谷城县| 吉林市| 开平市| 巴塘县| 项城市| 双辽市| 西宁市| 黄陵县| 泰顺县| 宽甸| 广东省| 泽库县| 龙陵县|