您的位置:首页 > 编程语言 > PHP开发

php 学习笔记 -- 文件(五)

2016-03-18 13:34 525 查看

1. 打开文件

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

resource fopen  ( string $filename  , string $mode  [, bool $use_include_path  = false  [, resource $context  ]] )


参数一:含有要打开的文件的名称;

参数二:规定了使用哪种模式来打开文件;

如果也需要在 include_path 中搜寻文件的话,可以将可选的第三个参数 use_include_path 设为 ‘1’ 或 TRUE 。

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


fopen() 中 mode 的可能值列表

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

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

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

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

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

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

‘x’ 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回

FALSE ,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。

‘x+’ 创建并以读写方式打开,其他的行为和 ‘x’ 一样。

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

2. 关闭文件

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

bool fclose  ( resource $handle  )


参数:文件指针必须有效,并且是通过 fopen() 或 fsockopen() 成功打开的。

<?php
$file = fopen("a1.txt","r");
//TODO

fclose($file);
?>


3. 检测文件末尾

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

bool feof  ( resource $handle  )


参数:文件指针必须是有效的,必须指向由 fopen() 或 fsockopen() 成功打开的文件(并还未由 fclose() 关闭)。

在循环遍历未知长度的数据时,feof() 函数很有用。在 w 、a 和 x 模式下,您无法读取打开的文件!

<?php
if (feof($file)) echo "文件结尾";
?>


4. 逐行读取文件

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

string fgets  ( resource $handle  [, int $length  ] )


参数一:文件指针必须是有效的,必须指向由 fopen() 或 fsockopen() 成功打开的文件(并还未由 fclose() 关闭)。

参数二: 从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。

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

<?php

$file = fopen("a1.txt", "r");
while(!feof($file)) {
echo  fgets($file)."<br>";
}

fclose($file);


5. 逐字符读取文件

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

string fgetc  ( resource $handle  )


参数 : 同上handle参数

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

<?php
$file=fopen("a1.txt","r") or exit("Unable to open file!");
while (!feof($file)){
echo fgetc($file);
}
fclose($file);
?>


源码

点击查看源码

参考

http://www.phpxs.com/j/php

http://www.w3cschool.cn/index-36.html

php 参考手册
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: