• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 4年前 (2022-01-24) 21次浏览 已收录 0个评论

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

PHP code

<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$fileSize = filesize($filePath);$handle = fo<b style="color:transparent">(、本文来源gao@!dai!ma.com搞$$代^@码网*</b><i>搞gaodaima代码</i>pen($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读吧。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于PHP使用fread读取文件总是会多一个空字符的有关问题
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址