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)."<br>";
}
fclose($file);
//逐字符读取
$fh = fopen("test.txt","r");
while (!feof($file))
{
echo fgetc($file);
}
fclose($file);
也有不使用feof()
函数依然能够读取文件所有内容的方法:file_get_content()
echo "<pre>";
echo file_get_contents("test.txt");
echo "</pre>";
内容用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()
函数检查。
网友评论