首页
学习
活动
专区
工具
TVP
发布

PHP 文件打开读取关闭

大家好,今天为大家带来最新一期内容,欢迎观看。

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

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

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 检查 end-of-file - feof():feof() 函数检查是否已到达 "end-of-file" (EOF)。

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

结果:

PHP feof()

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

示例:

PHP fgetc

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

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

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

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

我问堂弟相亲结果如何?

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

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

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

谢谢观看完毕,祝大家天天开心,记得分享一下哦

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181109A0EJXP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券