文件是用来存取数据的方式之一。相对于数据库来说,文件在使用上更方便、直接。如果数据少,简单,使用文件是最合适的方法,PHP可以通过配置文件和函数来修改上传功能。
1、fopen() :打开文件
<?php
$file = fopen("test.txt","r");
$file = fopen("/home/test/test.txt","r");
$file = fopen("/home/test/test.gif","wb");
$file = fopen("http://www.example.com/","r");
$file = fopen("ftp://user:password@example.com/test.txt","w");
?>
2、fclose() :关闭文件
<?php
$f = fopen("file.txt", "rb");//打开文件
... //对文件操作
fclose($f); //关闭文件
?>
3、readfile() :读入一个文件将其写入到缓冲,出现错误返回 false。
4、file() :读取整个文件内容,以数组的方式输出,出现错误返回 false。
5、file_get_contents() :读取整个文件内容,后面有两个参数:offset和maxlen,将在offset指定的位置开始读取长度为maxlen的内容。出现错误返回false。
<table width="700" border="2" cellspacing="2" cellpadding="2" bgcolor="pink">
<tr>
<td width="250" height="200" align="right" valign="middle">readfile读取文件:</td>
<td align="right" valign="middle"><?php readfile("file.txt"); ?></td>
</tr>
<tr>
<td width="250" height="200" align="right" valign="middle">file读取文件:</td>
<td align="right" valign="middle">
<?php
$f_arr = file("file.txt");
foreach($f_arr as $cont){
echo $cont."<br/>";
}
?>
</td>
</tr>
<tr>
<td width="250" height="200" align="right" valign="middle">file_get_contents读取文件:</td>
<td align="right" valign="middle">
<?php
$f = file_get_contents("file.txt");
echo $f;
?>
</td>
</tr>
</table>
结果显示:
6、fgets() :一次读取一行数据。
7、fgetss() :一次读取一行数据。同时会过滤掉文件内容中的HTML和PHP标记。
file.txt 的内容为:
PHP <br/>
Java <br/>
C++ <h1>
Python </h1>
HTML
css
js
<table width="700" border="2" cellspacing="2" cellpadding="2" bgcolor="pink">
<tr>
<td width="250" height="200" align="right" valign="middle">fgets读取文件:</td>
<td align="right" valign="middle">
<?php
$f_open = fopen("file.txt", "rb");
while (!feof($f_open)) { //feof函数测试指针是否到了文件结束位置
echo fgets($f_open);
}
fclose($f_open);
?>
</td>
</tr>
<tr>
<td width="250" height="200" align="right" valign="middle">fgetss读取文件:</td>
<td align="right" valign="middle">
<?php
$f_open = fopen("file.txt", "rb");
while (!feof($f_open)) { //feof函数测试指针是否到了文件结束位置
echo fgetss($f_open);
}
fclose($f_open);
?>
</td>
</tr>
</table>
结果显示:
8、fgetc() :读取一个字符。
<?php
$f_open = fopen("file.txt", "rb");
while (true == ($chr = fgetc($f_open))){//使用fgetc函数取得一个字符,判断是否为真
echo $chr;
}
fclose($f_open);
?>
结果显示:
9、fread() :从文件中读取指定长度的字节。
<?php
$f_open = fopen("file.txt", "rb");
echo fread($f_open, 10); //输出前10个字节
echo "<br/><br/>";
echo fread($f_open, filesize("file.txt")); //输出剩余的字节
fclose($f_open);
?>
结果显示:
PHP Java C
++ Python HTML css js
10、fwrite() 、 fputs() :将数据写入文件。(两个函数用法相同)
<?php
$f_open = fopen("file.txt", "wb");
$str_fwrite = "this is fwrite";
echo "用fwrite函数写入的文件为:<br/>";
fwrite($f_open, $str_fwrite); //清除原来的数据,重新写入
readfile("file.txt");
?>
结果显示:
用fwrite函数写入的文件为:
this is fwrite
11、file_put_contents() :将数据写入文件。
12、copy :复制文件。成功返回true,失败返回false。
13、rename :重命名文件。
14、unlink ;删除文件。
15、fileatime :返回最后一次访问文件的时间。