php处理文件,PHP 文件处理方法

1、fopen() 函数

用于在 PHP 中打开文件。

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

$file=fopen("welcome.txt","r");

?>

文件可能通过下列模式来打开:

r只读。在文件的开头开始。

r+读/写。在文件的开头开始。

w只写。打开并清空文件的内容;如果文件不存在,则创建新文件。

w+读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。

a追加。打开并向文件末尾进行写操作,如果文件不存在,则创建新文件。

a+读/追加。通过向文件末尾写内容,来保持文件内容。

x只写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。

x+读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。

注释:如果 fopen() 函数无法打开指定文件,则返回 0 (false)。

实例

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

$file=fopen("welcome.txt","r") or exit("Unable to open file!");

?>

2、fclose() 函数

用于关闭打开的文件:

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

//some code to be executed

fclose($file);

?>

3、feof() 函数

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

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

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

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

4、fgets() 函数

用于从文件中逐行读取文件。

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

实例

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

$file = fopen("welcome.txt", "r") or exit("Unable to open file!");

//Output a line of the file until the end is reached

while(!feof($file))

{

echo fgets($file). "
";

}

fclose($file);

?>

5、fgetc() 函数

用于从文件中逐字符地读取文件。

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

实例

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

$file=fopen("welcome.txt","r") or exit("Unable to open file!");

while (!feof($file))

{

echo fgetc($file);

}

fclose($file);

?>

6、fstat() 函数

返回关于一个打开的文件的信息。

该函数将返回一个包含下列元素的数组:

[0] 或 [dev] - 设备编号

[1] 或 [ino] - inode 编号

[2] 或 [mode] - inode 保护模式

[3] 或 [nlink] - 连接数目

[4] 或 [uid] - 所有者的用户 ID

[5] 或 [gid] - 所有者的组 ID

[6] 或 [rdev] - inode 设备类型

[7] 或 [size] - 文件大小的字节数

[8] 或 [atime] - 上次访问时间(Unix 时间戳)

[9] 或 [mtime] - 上次修改时间(Unix 时间戳)

[10] 或 [ctime] - 上次 inode 改变时间(Unix 时间戳)

[11] 或 [blksize] - 文件系统 IO 的块大小(如果支持)

[12] 或 [blocks] - 所占据块的数目

语法

fstat(file)

参数描述

file必需。规定要检查的打开文件。

注释:从这个函数返回的结果与服务器到服务器的结果是不相同的。这个数组包含了数字索引、名称索引或同时包含上述二者。

实例:

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

print_r(fstat($file));

fclose($file);

?>上面的代码将输出:

Array

(

[0] => 0

[1] => 0

[2] => 33206

[3] => 1

[4] => 0

[5] => 0

[6] => 0

[7] => 92

[8] => 1141633430

[9] => 1141298003

[10] => 1138609592

[11] => -1

[12] => -1

[dev] => 0

[ino] => 0

[mode] => 33206

[nlink] => 1

[uid] => 0

[gid] => 0

[rdev] => 0

[size] => 92

[atime] => 1141633430

[mtime] => 1141298003

[ctime] => 1138609592

[blksize] => -1

[blocks] => -1

)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值