关于PHP使用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读吧。

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)
![PHP Warning: filesize() [function.filesize]: stat failed的解決方法](https://img.php.cn/upload/article/000/887/227/168744929486784.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
在開發PHP專案時,我們常常會遇到檔案操作相關的問題,其中一個常會出現的問題就是提示「PHPWarning:filesize()[function.filesize]:statfailed」的錯誤。這個錯誤提示常常讓人摸不著頭腦,很難找到解決方法,本文將介紹這個問題的原因及解決方法,希望能幫助大家。問題原因在PHP中,filesize

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

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

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

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

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

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

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