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

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ù),或到達(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)文章

  • phpstudy?apache開啟ssi使用詳解

    phpstudy?apache開啟ssi使用詳解

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

    php生成HTML文件的類方法

    在本篇文章里小編給大家整理的是關(guān)于用php生成HTML文件的類的相關(guā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中替換鍵名的簡易方法示例詳解

    PHP中替換鍵名的簡易方法示例詳解

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

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

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

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

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

    PHP 7的一些引人注目的新特性簡單介紹

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

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

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

    PHP CURL函數(shù)庫

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

    php ios推送(代碼)

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

最新評論