PHP 文件函数

PHP fopen() 函数 用来打开文件或者url,一般用来打开文件。

该函数不能单独使用,因为打开文件执行完成之后需要关闭 fclose()函数,还有打开文件需要干什么,当然是读取文件内容 fgets()等函数。

语法

fopen(filename,mode,include_path,context)

参数

参数
说明必须/可选
filename指定要打开的文件必须
mode

打开文件的模式,它有这些模式:

  • “r”:它代表只读。它从文件的开头开始。
  • “r+”:它代表读/写。它从文件的开头开始。
  • “w”:它代表只写。它打开并清除文件的内容,如果文件不存在则创建一个新文件。
  • “w+”:它代表读/写。如果文件不存在,它会打开并清除文件的内容或创建一个新文件。
  • “a”:它代表只写。它打开并写入文件的末尾,或者如果它不存在则创建一个新文件。
  • “a+”:它代表读/写。它通过写入文件末尾来保留文件的内容。
  • “x”:它代表只写。它创建一个新文件并返回 FALSE,如果文件已经存在则返回错误。
  • “x+”:它代表读/写。它创建一个新文件,如果文件已经存在,则返回 FALSE 和错误。
必须
include_path如果也想在 include_path 中搜索文件,可以使用该参数并将其设为 true。默认为false
可选
context指定流的行为
可选

返回值

成功返回true,失败返回false。

注意点

  1. 打开文件需要有相应的权限。
  2. 打开失败,会生成 E_WARNING 级别的错误。
  3. 在打开之前可以使用 is_dir() 等函数先判断目录是否存在。

例子

现介绍一个简单的例子了解该函数的使用方法。

这里结合 fclose(),fgets() 函数介绍该函数的使用:

<?php
//建议使用try catch 的方式读取文件
$test = fopen("test.txt", 'r+') or die("文件不存在!");
$content = fgets($test);//获取一行
echo $content;
fclose($test);
?> 

输出:

yxjc123.com

结合feof()函数循环读取整个文件的内容:

<?php
//建议使用try catch 的方式读取文件
$test = fopen("test.txt", 'r+') or die("文件不存在!");
while (!feof($test)) {  
	//如果没有达到文件末尾就一直读取  
	$content = fgets($test);//获取一行  
	echo $content."<br>";
}
fclose($test);
?>