最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php fread讀取文件注意事項

 更新時間:2016年09月24日 14:32:30   投稿:lqh  
php fread函數(shù)用于從文件中讀取一定長度的字符,本文章向大家介紹fread讀取文件的實例以及使用該函數(shù)讀取文件需要注意的幾個地方,需要的朋友可以參考一下。

php fread函數(shù)介紹

string fread ( int handle, int length )

fread() 從文件指針 handle 讀取最多 length 個字節(jié)。該函數(shù)在讀取完最多 length 個字節(jié)數(shù),或到達 EOF 的時候,或(對于網(wǎng)絡(luò)流)當一個包可用時,或(在打開用戶空間流之后)已讀取了 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')//二進制方式打開
$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));
    //會多輸出一次空字符
}

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

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

相關(guān)文章

最新評論

洪洞县| 乌兰浩特市| 鄂伦春自治旗| 瑞金市| 祁连县| 安阳县| 施甸县| 阿城市| 扬中市| 蚌埠市| 肥城市| 缙云县| 清原| 黔西县| 惠水县| 博罗县| 永州市| 闵行区| 涿鹿县| 五寨县| 城步| 曲松县| 民权县| 白山市| 永靖县| 青阳县| 三原县| 遂平县| 竹北市| 宝丰县| 弥渡县| 安溪县| 炉霍县| 西丰县| 巫溪县| 翁牛特旗| 新竹县| 叙永县| 读书| 峡江县| 游戏|