php fread() 函數用於讀取檔案(可安全性用於二進位檔案)。 這篇文章向大家介紹fread讀取檔案的實例以及使用該函數讀取檔案需要注意的幾個地方,需要的朋友可以參考。
php fread函數介紹
語法
fread(file,length)
# #參數file 必要。規定要讀取開啟文件。 length 必需。規定要讀取的最大位元組數。 說明
<?php $file = fopen("test.txt","r"); fread($file,"10"); fclose($file); ?>
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()是如何辨識檔案編碼的
<?php $handler=fopen('a.txt','rb')//二进制方式打开 $content=fread($handler,1024); echo $content; ?>fread以
字串形式傳回,那它是如何辨識a.txt使用的編碼方式的呢,才能保證不亂碼的呢?
PHP7.0以下的版本的檔案操作中沒有辨識字元編碼。 只是以位元組資料輸出,如果和php原始碼檔案和輸出的html的字元編碼一致就能正確顯示。3、fread讀取檔案總是會多一個空字元
$fileSize = filesize($filePath); $handle = fopen($filePath, "rb"); while (!feof($handle)) { var_dump(fread($handle, $fileSize)); //会多输出一次空字符 }當我們使用上面程式碼讀取文件,有時會多一個空字元。這是因為你是WINDOWS平台,檔案是文字開啟儲存的內容,最後會有一個特殊位元組標識檔案結束,你用rb開啟自然就可以讀到最後那個特殊位元組了。用r打開,fgets讀吧。
以上是php fread讀取檔案有哪些需要注意的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!