PHP对文件的基本操作

0.创建文件

$fh = fopen('test.txt','w');
$text = <<< _END
这是第一行
这是第二行
这是第三行
_END;
fwrite($fh, $text);
fclose($fh);

fopen()用来打开文件,上面的例子以只写'w'的方式打开(创建)了一个文本文件,并写入了三行内容,关于fopen()的几种模式见下表。

fopen() 的几种模式
模式 说明 文件指针的位置 如果文件不存在
'r' 只读模式 文件的开始 返回false
'r+' 读写模式 文件的开始 返回false
'w' 只写模式 文件的开始 创建文件
'w+' 读写模式 文件的开始 创建文件
'a' 只写模式 文件的末端 创建文件
'a+' 读写模式 文件的末端 创建文件

1.检验文件是否存在:file_exists()

if(file_exists("test.txt")) echo "File exists";

2.读取文件

使用fgets()读取文件

$fh = fopen("test.txt",'r');
$text = fgets($fh);
fclose($fh);
echo $text;

这样实际只读取到了文件的一行数据。

使用fread()读文件

$text = fread($fh, 5);
fclose($fh);
echo $text;

这样实际上只读取到了文件的前5个字符。
使用feof()函数检验是否到达文件末尾并实现文件所有内容的读取

//逐行读取
$fh = fopen("test.txt", "r");
while(!feof($fh))
{
    echo fgets($file)."
"; } fclose($file); //逐字符读取 $fh = fopen("test.txt","r"); while (!feof($file)) { echo fgetc($file); } fclose($file);

也有不使用feof()函数依然能够读取文件所有内容的方法:file_get_content()

echo "
";
echo file_get_contents("test.txt");
echo "
";

内容用pre标签包围,确定内容在浏览器正常显示。

3.复制文件:copy()

copy('test.txt','new.txt');

创建文件‘test.txt’的副本并保存为‘new.txt’
也可以指定一下路径(文件夹必须存在):

copy('test.txt','test/new.txt');

4.重命名文件:rename()

rename('test.txt','rename.txt');

将文件‘test.txt’改名为了‘rename.txt’

5.删除文件:unlink()

unlink('rename.new');

在使用rename()unlink()函数时,如果文件不存在系统会给出警告,建议先用file_exists()函数检查。

你可能感兴趣的:(PHP对文件的基本操作)