PHP经验分享程序猿PHP专题

PHP 文件打开/读取/关闭

2018-10-28  本文已影响8人  林路同

我们在做项目时,打开,读取,关闭文件是非常频繁的工作,基本上很多项目,应用,软件都会有这样的操作。

今天,我们都会学习到这些文件操作。

PHP - fopen():打开文件

readfile()可以打开文件,今天我们提供一个比readfile()更好的函数 - fopen。 此函数为您提供比 readfile() 函数更多的选项。

fopen() 函数打开文件或者 URL。如果打开失败,本函数返回 FALSE。

语法:

fopen(filename,mode,include_path,context)

mode 参数的可选的值

"r"        只读方式打开,将文件指针指向文件头。

"r+"    读写方式打开,将文件指针指向文件头。

"w"    写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。

"w+"    读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。

"a"    写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

"a+"    读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

"x"    创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。

"x+" 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。

说明

fopen() 将 filename 指定的名字资源绑定到一个流上。如果 filename 是 "scheme://..." 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将 filename 当成一个普通的文件名继续执行下去。

如果 PHP 认为 filename 指定的是一个本地文件,将尝试在该文件上打开一个流。该文件必须是 PHP 可以访问的,因此需要确认文件访问权限允许该访问。如果激活了安全模式或者 open_basedir 则会应用进一步的限制。

如果 PHP 认为 filename 指定的是一个已注册的协议,而该协议被注册为一个网络 URL,PHP 将检查并确认 allow_url_fopen 已被激活。如果关闭了,PHP 将发出一个警告,而 fopen 的调用则失败。

示例:打开test.txt文件,并读取内容。

$testfile = fopen("text.txt", "r") or die("文件无法打开!");    //打开文件

echo fread($testfile,filesize("text.txt"));                                //读取文件内容

fclose($testfile );    //关闭文件

结果:

PHP  fopen()

PHP 读取文件 - fread():fread()函数读取打开的文件,的第一个参数包含待读取文件的文件名,第二个参数规定待读取的最大字节数。

语法:

fread(file,length)

还是以test.txt文件为例子

echo fread($testfile,filesize("test.txt"));

PHP 关闭文件 - fclose():用完文件后把它们全部关闭是一个良好的编程习惯,因为这样会减少服务器资源。

$testfile = fopen("test.txt", "r");

fclose($testfile );    //关闭文件

PHP 读取单行文件 - fgets():fgets() 函数用于从文件读取单行

结果:

PHP fgets


PHP 检查 end-of-file - feof():feof() 函数检查是否已到达 "end-of-file" (EOF)。

feof() 对于遍历未知长度的数据很有用。

结果:

PHP   feof()

PHP 读取单字符 - fgetc(): fgetc() 函数用于从文件中读取单个字符。

示例:

PHP fgetc

下一节:PHP 文件创建/写入,用途:项目中上传文件

段子:对方说我五行缺了四,与她命格不配

堂弟程序员一枚,不修边幅。

前日相亲一女子,据说是研究易经的。

我问堂弟相亲结果如何?

堂弟说:“对方说我五行缺了四,与她命格不配”。

我好奇极了又问“说你缺了哪四行?”

“她说我缺了,金,木,水,火”!


作者:林路同,转载请注明来源,谢谢。

公众号:林路同

林中多歧路,殊途同归。互联网资讯,名人传记,搞笑段子,笑话故事,社会热点,创业故事,技术分享,如果您觉得不错就关注下树洞吧,树洞会再接再厉的哈。

上一篇下一篇

猜你喜欢

热点阅读