欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php fread讀取文件注意事項(xiàng)

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

php fread函數(shù)介紹

string fread ( int handle, int length )

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

fread()實(shí)例:

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

php使用fread需要注意的幾點(diǎn)

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

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

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

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

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

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

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

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

 3、fread讀取文件總是會(huì)多一個(gè)空字符

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

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

通過(guò)此文希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • phpstudy?apache開啟ssi使用詳解

    phpstudy?apache開啟ssi使用詳解

    SSI具有強(qiáng)大的功能,只要使用一條簡(jiǎn)單的SSI?命令就可以實(shí)現(xiàn)整個(gè)網(wǎng)站的內(nèi)容更新,時(shí)間和日期的動(dòng)態(tài)顯示,以及執(zhí)行shell和CGI腳本程序等復(fù)雜的功能。在Apache服務(wù)器下,可以通過(guò)直接編輯服務(wù)器配置文件或者在需要使用SSI的目錄中創(chuàng)建.htaccess文件來(lái)啟動(dòng)SSI。
    2022-12-12
  • php生成HTML文件的類方法

    php生成HTML文件的類方法

    在本篇文章里小編給大家整理的是關(guān)于用php生成HTML文件的類的相關(guān)知識(shí)點(diǎn),有需要的朋友們學(xué)習(xí)下。
    2019-10-10
  • PHP獲取當(dāng)前執(zhí)行php文件名的代碼

    PHP獲取當(dāng)前執(zhí)行php文件名的代碼

    這篇文章主要介紹了PHP獲取當(dāng)前執(zhí)行php文件名的代碼,需要的朋友可以參考下
    2017-03-03
  • PHP中替換鍵名的簡(jiǎn)易方法示例詳解

    PHP中替換鍵名的簡(jiǎn)易方法示例詳解

    默認(rèn)輸出的時(shí)候,將數(shù)據(jù)庫(kù)字段名作為數(shù)組的鍵名進(jìn)行輸出,但帶有鍵名的數(shù)據(jù)不能夠滿足未知情況下的操作,下面為大家介紹個(gè)不錯(cuò)的方法可以解決這個(gè)問題
    2014-01-01
  • PHP中使用hidef擴(kuò)展代替define提高性能

    PHP中使用hidef擴(kuò)展代替define提高性能

    這篇文章主要介紹了PHP中使用hidef擴(kuò)展代替define提高性能,本文著重測(cè)試hidef的性能,同時(shí)介紹了安裝方法和使用示例,需要的朋友可以參考下
    2015-04-04
  • 使用Zookeeper分布式部署PHP應(yīng)用程序

    使用Zookeeper分布式部署PHP應(yīng)用程序

    今天小編就為大家分享一篇關(guān)于使用Zookeeper分布式部署PHP應(yīng)用程序,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • PHP 7的一些引人注目的新特性簡(jiǎn)單介紹

    PHP 7的一些引人注目的新特性簡(jiǎn)單介紹

    這篇文章主要介紹了PHP 7的一些引人注目的新特性,這些新特性在新的文檔中都有對(duì)應(yīng)的詳細(xì)說(shuō)明,需要的朋友可以參考下
    2015-11-11
  • PHP設(shè)置Cookie的HTTPONLY屬性方法

    PHP設(shè)置Cookie的HTTPONLY屬性方法

    下面小編就為大家?guī)?lái)一篇PHP設(shè)置Cookie的HTTPONLY屬性方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • PHP CURL函數(shù)庫(kù)

    PHP CURL函數(shù)庫(kù)

    PHP中的CURL函數(shù)庫(kù)集合
    2008-10-10
  • php ios推送(代碼)

    php ios推送(代碼)

    本篇文章是對(duì)php ios推送進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-07-07

最新評(píng)論