php feof用来识别文件末尾字符的方法

2015-01-24信息快讯网

程序需要一种标准的方式来识别何时到达文件的末尾.这个标准通常称为文件末尾,或EOF字符。

EOF 是非常重要的概念,几乎每种主流编程语言都提供了相应的内置函数,来验证解析器是否到达了文件EOF。在PHP 中,此函数是feof ()。feof ()函数用来确定是否到达资源末尾。它在文件I/O 操作中经常使用。其形式为:
int feof(string resource)
实例如下:
 
<?php 
$fh = fopen("/home/www/data/users.txt", "rt"); 
while (!feof($fh)) echo fgets($fh); 
fclose($fh); 
?> 

bool feof ( resource $handle ):Tests for end-of-file on a file pointer
这个php manual上面的原话。
为了方便,我以前都是这样使用的
 
<?php 
// if file can not be read or doesn't exist fopen function returns FALSE 
$file = @fopen("no_such_file", "r"); 
// FALSE from fopen will issue warning and result in infinite loop here 
while (!feof($file)) { 
} 
fclose($file); 
?> 

确实,这样使用比较简单。但是,如果上面的变量$file不是一个合法的file pointer 或者已经被fclose关闭了的话。
那么在程序的第六行出,就会产生一个waring,并发生死循环。
为什么?
原因就是
Returns TRUE if the file pointer is at EOF or an error occurs (including socket timeout); otherwise returns FALSE.
所以,为了安全起见,最好在使用上面代码的时候 加个判断,is_resource 还是比较安全的。
PHP使用feof()函数读文件的方法
PHP中feof()函数实例测试
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
用PHP实现小写金额转换大写金额的代码(精确到分)
解决文件名解压后乱码的问题 将文件名进行转码的代码
php 字符串替换的方法
PHP中strtotime函数使用方法分享
比较详细PHP生成静态页面教程
php中通过正则表达式下载内容中的远程图片的函数代码
第六章 php目录与文件操作
php文件怎么打开 如何执行php文件
在WINDOWS中设置计划任务执行PHP文件的方法
php中使用DOM类读取XML文件的实现代码
PHP中去除换行解决办法小结(PHP_EOL)
提示Trying to clone an uncloneable object of class Imagic的解决
Array of country list in PHP with Zend Framework
php设计模式 Chain Of Responsibility (职责链模式)
PHP SEO优化之URL优化方法
The specified CGI application misbehaved by not returning a complete set of HTTP headers
php GeoIP的使用教程
8个出色的WordPress SEO插件收集
php下目前为目最全的CURL中文说明
apache+php+mysql安装配置方法小结
PHP 作用域解析运算符(::)
PHP中的integer类型使用分析
PHP中的float类型使用说明
PHP中的string类型使用说明
php上传文件的增强函数
生成ubuntu自动切换壁纸xml文件的php代码
PHP编码规范之注释和文件结构说明
php操作excel文件 基于phpexcel
php 上传文件类型判断函数(避免上传漏洞 )
php中理解print EOT分界符和echo EOT的用法区别小结
php print EOF实现方法
©2014-2024 dbsqp.com