首頁 後端開發 php教程 关于PHP使用fread读取文件总是会多一个空字符的有关问题

关于PHP使用fread读取文件总是会多一个空字符的有关问题

Jun 13, 2016 pm 01:26 PM
filepath filesize fread

关于PHP使用fread读取文件总是会多一个空字符的问题
代码如下:

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
$fileSize = filesize($filePath);
$handle = fopen($filePath, "rb");


while (!feof($handle)) {
        var_dump(fread($handle, $fileSize));
        //会多输出一次空字符
}


登入後複製



求教,谢谢!

------解决方案--------------------
fread($handle, $fileSize)
文件中正好有 $fileSize 字节的内容,读取顺利,因此程序并没有检测到文件已到底。那么就会执行第二次循环,而此时指针位于最后一位,再没有什么可读的了,因此系统才将文件指针设为触底,这样feof()才会返回true。php操作文件系统和C几乎没什么区别,这方面有关于C的feof()有很详细的讲解
------解决方案--------------------
其实我也并没有说到点子上.至于解决方法,可以对 $fileSize+1.或者你完全可以不用循环 fread($handle, filesize ($filename)); 即可读取全部文件内容。
------解决方案--------------------
trim() 一下?
------解决方案--------------------
如果文件不大,就全读到数组,去掉最后一个吧。如果文件较大,另想其法了,不过没有发现多了这个会影响什么呀。真的影响了,想去掉应该也不是什么难事。
------解决方案--------------------
因为你是WINDOWS平台,文件是文本打开存储的内容,末尾会有一个特殊字节标识文件结束,你用rb打开自然就可以读到最后那个特殊字节了。

用r打开,fgets读吧。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
PHP Warning: filesize() [function.filesize]: stat failed的解決方法 PHP Warning: filesize() [function.filesize]: stat failed的解決方法 Jun 22, 2023 pm 11:54 PM

在開發PHP專案時,我們常常會遇到檔案操作相關的問題,其中一個常會出現的問題就是提示「PHPWarning:filesize()[function.filesize]:statfailed」的錯誤。這個錯誤提示常常讓人摸不著頭腦,很難找到解決方法,本文將介紹這個問題的原因及解決方法,希望能幫助大家。問題原因在PHP中,filesize

php+fread()亂碼怎麼辦 php+fread()亂碼怎麼辦 Jan 18, 2023 am 10:21 AM

php+fread()亂碼是因為輸出頁面的編碼和被讀取檔案的編碼不一致,其解決方案:1、開啟對應的PHP檔案;2、透過fread函數讀取檔案;3、透過「iconv('gbk' , 'utf-8', $data)”方法將讀取的內容轉碼即可。

在PHP中的fread()函數 在PHP中的fread()函數 Sep 07, 2023 pm 11:57 PM

fread()函數從開啟的檔案中讀取資料。 fread()函數在文件末尾或達到指定長度時停止。成功時傳回讀取的字串。失敗時返回FALSE。語法fread(file_pointer,length)參數file_pointer−使用fopen()所建立的檔案系統指標資源。必需。 length−要讀取的最大位元組數。必需。傳回值如果成功,fread()函數傳回讀取的字串。如果失敗,返回FALSE。假設我們有一個名為"one.txt"的文件,其中

如何解決 golang 中的 'undefined: filepath.Glob” 錯誤? 如何解決 golang 中的 'undefined: filepath.Glob” 錯誤? Jun 24, 2023 pm 04:00 PM

Go語言是一種輕量級程式語言,被廣泛用於建構高效能的網路服務。在Go的應用程式開發中,我們通常需要使用檔案路徑的操作。在Go語言中,檔案路徑操作由標準庫提供的filepath包提供支援。 filepath套件中提供了一些用於操作檔案路徑的函數和常數。其中一個函數是Glob(),用來搜尋檔案比對模式的路徑。然而,在使用Go語言過程中,你可能會遇到「undefine

如何解決 golang 中的 'undefined: filepath.Abs​​” 錯誤? 如何解決 golang 中的 'undefined: filepath.Abs​​” 錯誤? Jun 24, 2023 pm 04:37 PM

在golang中,filepath.Abs​​是一個非常常用的程式庫,它的作用是取得一個相對路徑的絕對路徑。然而,在某些情況下,我們會發現在使用filepath.Abs​​時會遇到一個"undefined:filepath.Abs​​"的錯誤,這意味著我們沒有正確地引入filepath庫或寫出了錯誤的語法。本文將介紹如何解決這個錯誤。首先,我們需要理解

PHP函數介紹:is_file()函數 PHP函數介紹:is_file()函數 Nov 04, 2023 am 09:11 AM

PHP函數介紹:is_file()函數在PHP程式設計中,is_file()函數是一個非常有用的函數。它用來判斷一個路徑或檔案是否存在,並且是一個普通的檔案。在本篇文章中,我們將介紹is_file()函數的使用方法,並提供一些具體的程式碼範例。首先,讓我們來看看is_file()函數的語法:boolis_file(string$filename)is_

PHP函數介紹—fread(): 從檔案讀取指定長度的內容 PHP函數介紹—fread(): 從檔案讀取指定長度的內容 Jul 26, 2023 pm 09:29 PM

PHP函數介紹—fread():從檔案中讀取指定長度的內容PHP是一種廣泛使用的腳本語言,用於開發Web應用程式。在PHP中,有許多內建函數可用於處理文件,其中之一就是fread()函數。 fread()函數允許我們從一個開啟的檔案中讀取指定長度的內容。語法:stringfread(resource$handle,int$length)參數說明:$h

PHP傳回一個目錄的磁碟總大小 PHP傳回一個目錄的磁碟總大小 Mar 21, 2024 pm 10:30 PM

這篇文章將為大家詳細講解有關PHP返回一個目錄的磁碟總大小,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章後可以有所收穫。 PHP中計算目錄磁碟總大小背景在某些情況下,需要確定特定目錄或其子目錄所佔用的磁碟空間量。 php提供了強大的函數來執行此任務,使開發人員能夠輕鬆計算目錄的磁碟總大小。方法1.使用disk_total_space()函數disk_total_space()函數取得給定目錄或檔案的磁碟總容量。 $directory=&quot;/var/log&quot;;$total_space=

See all articles