php freadファイル読み出し注意事項

1974 ワード

php fread関数の紹介
string fread ( int handle, int length )
fread()は、ファイルポインタhandleから最大lengthバイトを読み出す.この関数は、最大lengthバイト数の読み取りが完了したとき、またはEOFに到達したとき、または(ネットワークストリームの場合)パケットが使用可能になったとき、または(ユーザ空間ストリームを開いた後)8192バイトの読み取りが完了したときにファイルの読み取りを停止します.
fread()の例:


 


php freadの使用に注意すべき点
1、fread大ファイル読み込みエラーの解決方法
freadを使用してファイルを読み込む場合phpを超える.iniで設定した最大メモリ使用値にエラーが表示され、次の方法で大きなファイルを読み込む問題を解決します.

 
  set_time_limit(0);//            
  $flie="flexbuilder_linux_install_a5_112409.bin";//     php.ini       
  $fp=fopen($flie,"r"); 
  $content=""; 
  $filename="123.bin";//      
  $handle=fopen($filename,"a");//      ,           。              
  while(!feof($fp)){//                  
    $content=fread($fp,1024); 
    fwrite($handle,$content); 
  } 
  fclose($fp); 
  fclose($handle); 
  echo "        "; 
?>
 


2、php fread()はどのようにファイルコードを識別するか



freadは文字列形式で返されますが、a.txtが使用する符号化方式をどのように認識すれば、文字化されないことを保証できますか?
PHP7.0以下のバージョンのファイル操作では文字コードが認識されません.
バイトデータで出力するだけでphpソースファイルや出力htmlの文字コードと一致すれば正しく表示されます.
3、fread読み取りファイルは常に空の文字が1つ増える

$fileSize = filesize($filePath);
$handle = fopen($filePath, "rb"); 
while (!feof($handle)) {
    var_dump(fread($handle, $fileSize));
    //         
}

上記のコードを使用してファイルを読み込むと、空の文字が1つ増えることがあります.これはあなたがWINDOWSプラットフォームなためで、ファイルはテキストがストレージの内容を開けて、末尾に1つの特殊なバイトの識別ファイルが終わることができて、あなたはrbで開けて自然に最後の特殊なバイトまで読むことができます.rで開き、fgetsで読みましょう.
この文を通じてみんなを助けることができることを望んで、みんなの当駅に対する支持に感謝します!