- PHP 教程
- PHP - 首页
- PHP - 简介
- PHP - 安装
- PHP - 历史
- PHP - 特性
- PHP - 语法
- PHP - Hello World
- PHP - 注释
- PHP - 变量
- PHP - Echo/Print
- PHP - var_dump
- PHP - $ 和 $$ 变量
- PHP - 常量
- PHP - 魔术常量
- PHP - 数据类型
- PHP - 类型转换
- PHP - 类型混合
- PHP - 字符串
- PHP - 布尔值
- PHP - 整数
- PHP - 文件与 I/O
- PHP - 数学函数
- PHP - Heredoc & Nowdoc
- PHP - 复合类型
- PHP - 文件包含
- PHP - 日期与时间
- PHP - 标量类型声明
- PHP - 返回类型声明
- PHP 运算符
- PHP - 运算符
- PHP - 算术运算符
- PHP - 比较运算符
- PHP - 逻辑运算符
- PHP - 赋值运算符
- PHP - 字符串运算符
- PHP - 数组运算符
- PHP - 条件运算符
- PHP - 展开运算符
- PHP - 空值合并运算符
- PHP - 键值比较运算符
- PHP 控制语句
- PHP - 决策
- PHP - If…Else 语句
- PHP - Switch 语句
- PHP - 循环类型
- PHP - For 循环
- PHP - Foreach 循环
- PHP - While 循环
- PHP - Do…While 循环
- PHP - Break 语句
- PHP - Continue 语句
- PHP 函数
- PHP - 函数
- PHP - 函数参数
- PHP - 按值传递
- PHP - 按引用传递
- PHP - 默认参数
- PHP - 具名参数
- PHP - 可变参数
- PHP - 返回值
- PHP - 传递函数
- PHP - 递归函数
- PHP - 类型提示
- PHP - 变量作用域
- PHP - 严格类型
- PHP - 匿名函数
- PHP - 箭头函数
- PHP - 可变函数
- PHP - 局部变量
- PHP - 全局变量
- PHP 超全局变量
- PHP - 超全局变量
- PHP - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP 文件处理
- PHP - 文件处理
- PHP - 打开文件
- PHP - 读取文件
- PHP - 写入文件
- PHP - 文件是否存在
- PHP - 下载文件
- PHP - 复制文件
- PHP - 追加文件
- PHP - 删除文件
- PHP - 处理 CSV 文件
- PHP - 文件权限
- PHP - 创建目录
- PHP - 列出文件
- 面向对象 PHP
- PHP - 面向对象编程
- PHP - 类与对象
- PHP - 构造函数与析构函数
- PHP - 访问修饰符
- PHP - 继承
- PHP - 类常量
- PHP - 抽象类
- PHP - 接口
- PHP - 特性
- PHP - 静态方法
- PHP - 静态属性
- PHP - 命名空间
- PHP - 对象迭代
- PHP - 封装
- PHP - Final 关键字
- PHP - 重载
- PHP - 克隆对象
- PHP - 匿名类
- PHP Web 开发
- PHP - Web 概念
- PHP - 表单处理
- PHP - 表单验证
- PHP - 表单邮件/URL
- PHP - 完整表单
- PHP - 文件包含
- PHP - GET & POST
- PHP - 文件上传
- PHP - Cookie
- PHP - Session
- PHP - Session 选项
- PHP - 发送邮件
- PHP - 清理输入
- PHP - Post-Redirect-Get (PRG)
- PHP - 闪存消息
- PHP 高级
- PHP - MySQL
- PHP.INI 文件配置
- PHP - 数组解构
- PHP - 编码规范
- PHP - 正则表达式
- PHP - 错误处理
- PHP - Try…Catch
- PHP - Bug 调试
- PHP - 针对 C 开发人员
- PHP - 针对 PERL 开发人员
- PHP - 框架
- PHP - Core PHP 与框架
- PHP - 设计模式
- PHP - 过滤器
- PHP - JSON
- PHP - 异常
- PHP - 特殊类型
- PHP - 哈希
- PHP - 加密
- PHP - is_null() 函数
- PHP - 系统调用
- PHP - HTTP 认证
- PHP - 交换变量
- PHP - Closure::call()
- PHP - 过滤后的 unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - 期望
- PHP - Use 语句
- PHP - 整数除法
- PHP - 已弃用的特性
- PHP - 已移除的扩展和 SAPI
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI 进程
- PHP - PDO 扩展
- PHP - 内置函数
- PHP 有用资源
- PHP - 速查表
- PHP - 问答
- PHP - 快速指南
- PHP - 在线编译器
- PHP - 有用资源
- PHP - 讨论
PHP - 文件与 I/O
本章将解释以下与文件相关的函数:
- 打开文件
- 读取文件
- 写入文件
- 关闭文件
打开和关闭文件
PHP 的 fopen() 函数用于打开文件。它需要两个参数,首先是文件名,然后是操作模式。
文件模式可以指定为此表中的六个选项之一。
序号 | 模式及用途 |
---|---|
1 |
r 仅打开文件以供读取。 将文件指针置于文件开头。 |
2 |
r+ 打开文件以供读取和写入。 将文件指针置于文件开头。 |
3 |
w 仅打开文件以供写入。 将文件指针置于文件开头。 并将文件截断为零长度。如果文件不存在 则尝试创建文件。 |
4 |
w+ 仅打开文件以供读取和写入。 将文件指针置于文件开头。 并将文件截断为零长度。如果文件不存在 则尝试创建文件。 |
5 |
a 仅打开文件以供写入。 将文件指针置于文件末尾。 如果文件不存在则尝试创建文件。 |
6 |
a+ 仅打开文件以供读取和写入。 将文件指针置于文件末尾。 如果文件不存在则尝试创建文件。 |
如果尝试打开文件失败,则 fopen 返回 false,否则返回 文件指针,该指针用于进一步读取或写入该文件。
对打开的文件进行更改后,务必使用 fclose() 函数关闭它。fclose() 函数需要一个文件指针作为其参数,然后在关闭成功时返回 true,如果失败则返回 false。
读取文件
使用 fopen() 函数打开文件后,可以使用名为 fread() 的函数读取它。此函数需要两个参数。这些参数必须是文件指针和以字节表示的文件长度。
可以使用 filesize() 函数查找文件长度,该函数以文件名作为参数,并返回以字节表示的文件大小。
因此,以下是使用 PHP 读取文件所需的步骤。
使用 fopen() 函数打开文件。
使用 filesize() 函数获取文件长度。
使用 fread() 函数读取文件内容。
使用 fclose() 函数关闭文件。
示例
以下示例将文本文件的内容分配给一个变量,然后在网页上显示这些内容。
<html> <head> <title>Reading a file using PHP</title> </head> <body> <?php $filename = "tmp.txt"; $file = fopen( $filename, "r" ); if( $file == false ) { echo ( "Error in opening file" ); exit(); } $filesize = filesize( $filename ); $filetext = fread( $file, $filesize ); fclose( $file ); echo ( "File size : $filesize bytes" ); echo ( "<pre>$filetext</pre>" ); ?> </body> </html>
它将产生以下结果:
写入文件
可以使用 PHP 的 fwrite() 函数写入新文件或将文本追加到现有文件。此函数需要两个参数,指定 文件指针和要写入的数据字符串。可选地,可以包含第三个整型参数以指定要写入的数据长度。如果包含第三个参数,则写入将在达到指定的长度后停止。
示例
以下示例创建一个新的文本文件,然后在其中写入一个简短的文本标题。关闭此文件后,使用 file_exist() 函数确认其是否存在,该函数以文件名作为参数
<?php $filename = "/home/user/guest/newfile.txt"; $file = fopen( $filename, "w" ); if( $file == false ) { echo ( "Error in opening new file" ); exit(); } fwrite( $file, "This is a simple test\n" ); fclose( $file ); ?> <html> <head> <title>Writing a file using PHP</title> </head> <body> <?php $filename = "newfile.txt"; $file = fopen( $filename, "r" ); if( $file == false ) { echo ( "Error in opening file" ); exit(); } $filesize = filesize( $filename ); $filetext = fread( $file, $filesize ); fclose( $file ); echo ( "File size : $filesize bytes" ); echo ( "$filetext" ); echo("file name: $filename"); ?> </body> </html>
它将产生以下结果:
我们已经在 PHP 文件系统函数 章中介绍了所有与文件输入和输出相关的函数。