PHP 文件处理

本文介绍了如何使用PHP进行文件操作,包括文件的打开、读取、写入及关闭等基本操作。详细解释了fopen()函数的使用方法及其不同模式的意义,并提供了实际应用的例子。此外还介绍了如何使用fwrite()和fread()进行读写操作,如何逐行或逐字符读取文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.打开文件操作,以及赋予操作权限;

2.读取文件方法;

3.关闭文件。


一、打开文件函数,以及权限的详解。

fopen() 函数用于在 PHP 中打开文件。

此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件:

$handle = fopen("file/content.txt", "a");
注释:如果 fopen() 函数无法打开指定文件,则返回 0 (false)。


第二个参数的操作模式有:
r只读。在文件的开头开始。
r+读/写。在文件的开头开始。
w只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
w+读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。
a追加。打开并向文件末尾进行写操作,如果文件不存在,则创建新文件。
a+读/追加。通过向文件末尾写内容,来保持文件内容。
x只写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。
x+读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。

例子:

如果 fopen() 函数不能打开指定的文件,下面的实例会生成一段消息:

<html>
<body>

<?php
//如果 fopen() 函数无法打开指定文件,则返回 0 (false)。也可以用0和false来判断后,再进行内容的读写操作。
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
?>

</body>
</html>

二、读写操作函数

fwrite和fread两个函数进行写读:

<?php
/**
 * Created by PhpStorm.
 * User: 洋   汪
 * Date: 2016/7/20
 * Time: 15:52
 */
header("Content-type:text/html;charset=utf-8");

//写文件
//$handle = fopen("file/content.txt", "w+");
//fwrite($handle, "我是写进来的");
//fclose($handle);

//读文件
//$handle = fopen("file/content.txt", "r+");
//fread(,读取的字节数);中文字在php中为3个字节?
//$content = fread($handle, filesize("file/content.txt"));
//echo $content;

//给文件中的内容进行追加
$handle = fopen("file/content.txt", "a");
fwrite($handle, "我是追加的内容");
fclose($handle);


?>

逐行读取文件

fgets() 函数用于从文件中逐行读取文件。

注释:在调用该函数之后,文件指针会移动到下一行。

实例

下面的实例逐行读取文件,直到文件末尾为止:

<?php
$file = fopen("welcome.txt", "r") or exit("无法打开文件!");
// 读取文件每一行,直到文件结尾
while(!feof($file))
{
    echo fgets($file). "<br>";
}
fclose($file);
?>


检测文件末尾(EOF)

feof() 函数检测是否已到达文件末尾(EOF)。

在循环遍历未知长度的数据时,feof() 函数很有用。

注释:在 w 、a 和 x 模式下,您无法读取打开的文件!

if (feof($file)) echo "文件结尾";

逐字符读取文件

fgetc() 函数用于从文件中逐字符地读取文件。

注释:在调用该函数之后,文件指针会移动到下一个字符。

实例

下面的实例逐字符地读取文件,直到文件末尾为止:

<?php
$file=fopen("welcome.txt","r") or exit("无法打开文件!");
while (!feof($file))
{
    echo fgetc($file);
}
fclose($file);
?>


三、关闭文件

关闭文件

fclose() 函数用于关闭打开的文件:

<?php
$file = fopen("test.txt","r");

//执行一些代码

fclose($file);
?>



















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值