PHP feof() 函数读文件的使用

 (PHP 4, PHP 5)

feof — 测试文件指针是否到了文件结束的位置

如果服务器没有关闭由 fsockopen() 所打开的连接,feof() 会一直等待直到超时而返回TRUE。默认的超时限制是 60 秒,可以使用 stream_set_timeout() 来改变这个值。

 文件指针必须是有效的,必须指向由 fopen() 或fsockopen() 成功打开的文件(并还未由fclose() 关闭)。

 

如果传递的文件指针无效可能会陷入无限循环中,因为 EOF 不会返回 TRUE。

Example #1 使用无效文件指针的 feof() 例子

<?php
// 如果文件不可读取或者不存在,fopen 函数返回 FALSE
$file = @fopen("no_such_file", "r");

// 来自 fopen 的 FALSE 会发出一条警告信息并在这里陷入无限循环
while (!feof($file)) {
}

fclose($file);
?>
 
 
例子

<?php
$file = fopen($_SERVER['DOCUMENT_ROOT']."/me/test.txt", "r");

//输出文本中所有的行,直到文件结束为止。
while(! feof($file))
  {
  echo fgets($file). "<br />";
  }

fclose($file);
?>

输出:

Hello, this is a test file.
There are three lines here.
This is the last line.

时间: 2024-10-22 04:18:38

PHP feof() 函数读文件的使用的相关文章

PHP使用feof()函数读文件的方法_php技巧

本文实例讲述了PHP使用feof()函数读文件的方法.分享给大家供大家参考.具体用法如下: feof应用于PHP 4, PHP 5 -用来测试文件指针是否到了文件结束的位置. 如果服务器没有关闭由 fsockopen() 所打开的连接,feof() 会一直等待直到超时而返回TRUE.默认的超时限制是 60 秒,可以使用 stream_set_timeout() 来改变这个值. 文件指针必须是有效的,必须指向由 fopen() 或fsockopen() 成功打开的文件(并还未由fclose() 关

c-C++读文件没读完就结束,eof已用

问题描述 C++读文件没读完就结束,eof已用 这段代码是我写哈夫曼编码的一个解压函数,现在的问题是,没有把我整个文件解压完像图里面,只解压了一部分然后 ,还有剩下很多没读,貌似是eof为真,导致读文件结束了 这是怎么回事啊? void readCodeFile(){ ifstream inf; ofstream outf; int w[200] c = 0; char s[200]; string code; HuffTreeTreeArray[100]; HuffNode tempNode;

应用PHP文件函数获取文件信息实例教程

上一篇PHP目录函数教程中主要介绍了目录(文件夹)读取,遍历的方法,但最基本的文件管理系统同时涉及到文件信息.文件大小读取以便检查磁盘使用情况,也需要获取文件修改或访问时间,删除或移动整理文件的功能,这些都需要通过PHP文件函数同文件系统交互. 基本PHP文件函数介绍 PHP文件函数dirname()和basename()的区别 dirname()获得文件目录路径的目录部分,而basename()获得不带目录的文件名 如何通过PHP文件函数获得文件基本信息? 之前介绍了PHP目录读取实例,我们只

用stream读文件

stream|stream 前几天要写一个东西里面有用到读文件的. 可是我不想用FSO,我怕有的空间不支持.可是网络上找了半天没有找到一个不是用FSO写的. 还是自己做了一个. 我记得以前在做无组件上传,并保存文件的时候有用到stream我发现有一个LoadFromFile的方法.可以读取文件.下面是我的代码. function readfile(URL,chartype) set srmObj = server.CreateObject("adodb.stream") srmObj.

ASP应用:用stream读文件

 前几天要写一个东西里面有用到读文件的.  可是我不想用FSO,我怕有的空间不支持.  可是网络上找了半天没有找到一个不是用FSO写的.   还是自己做了一个.   我记得以前在做无组件上传,并保存文件的时候有用到stream  我发现有一个LoadFromFile的方法.可以读取文件.  下面是我的代码.    function readfile(URL,chartype)  set srmObj = server.CreateObject("adodb.stream")  srmO

ASP应用:用stream读文件

前几天要写一个东西里面有用到读文件的. 可是我不想用FSO,我怕有的空间不支持. 可是网络上找了半天没有找到一个不是用FSO写的. 还是自己做了一个. 我记得以前在做无组件上传,并保存文件的时候有用到stream 我发现有一个LoadFromFile的方法.可以读取文件. 下面是我的代码. function readfile(URL,chartype) set srmObj = server.CreateObject("adodb.stream") srmObj.type=1 srmO

从fread和mmap 谈读文件的性能

[原文] 1. https://www.byvoid.com/blog/fast-readfile/ 2. http://blog.csdn.net/jwh_bupt/article/details/7793549 3. http://blog.csdn.net/jwh_bupt/article/details/8373063 [原文1]         在进行大规模数据处理时,读文件很有可能成为速度瓶颈.不管你的CPU有4个核还是8个核,主频有2G还是3G,硬盘IO速度总是有个上限的.在本人最

读文件 infile-在读文件infile的时候出现的问题 请大神看看啊 困扰两天了。。。。。。。。

问题描述 在读文件infile的时候出现的问题 请大神看看啊 困扰两天了........ 代码如下,编译的时候不会出错,但是点击按钮就会死程序,注释掉bianhuanbianliang也就是消息响应函数倒数第二行的时候不会出错,这个函数中只有存在infile>就会在void* CMapPtrToPtr::GetValueAt(void* key) const这个函数里出错!这是什么函数?求解释啊 void CControlPane::OnBnClickedCamcalib() { // TODO

vc++-VC++ 6.0文本文件分行读取MFC读文件的问题

问题描述 VC++ 6.0文本文件分行读取MFC读文件的问题 VC++ 6.0文本文件分行读取,怎么样返回上一行,getline怎么才能往前读取行呢? 解决方案 vector string; ifstream inout; inout.open(文件名,ios::in); while(inout.getline(nextline, sizeof(nextline))) { temp_str = nextline; v.pushback(temp_str); } inout.close(); in