前言
正常来说,php操作mysql才是绝配,但是如果考虑到安全问题,或者磁盘空间问题,加上涉及的数据比较少的话,那么久可以考虑采用文件的方式进行存储。但是需要注意的时候在Ubuntu下面或者centos下面,经常会由于权限问题的导致打开文件失败,所以需要在操作文件的时候设置权限。
1、读取文件
正常的读取文件代码如下
$filename = "wel.txt";
$fp = fopen($filename, "r");
$data = fread($fp, filesize($filename));
echo $data;
fclose($fp);
通过另一种方式读取文件
$filename = "wel.txt";
$data = file_get_contents($filename, filesize($filename));
echo $data;
一行一行的读取文件
$filename = "wel.txt";
$fp = fopen($filename, "rb");
while(!feof($fp)) {
$line = fgets($fp);
echo $line.'<br/>';
}
fclose($fp);
其他方式读取
$filename = "wel.txt";
readfile($filename);
$filename = "wel.txt";
$fp = fopen($filename, "r");
fpassthru($fp);
$filename = "wel.txt";
$filearray = file($filename);
print_r($filearray);
2、写入文件
$filename = "wel.txt";
$content = "xiaoD";
$fp = fopen($filename, "a");
fwrite($fp, $content, strlen($content));
fclose($fp);
3、文件加锁
为了防止在写入文件的时候读取文件,我们经常会对正在写的文件进行加锁
$filename = "wel.txt";
$content = "xiaoD";
$fp = fopen($filename, "a");
flock($fp, LOCK_EX);
fwrite($fp, $content, strlen($content));
flock($fp, LOCK_UN);
fclose($fp);
4、其他函数
判断文件是否存在
$filename = "we2l.txt";
if(file_exists($filename)) {
readfile($filename);
} else {
echo 'file not exists';
}
删除一个文件
$filename = "we2l.txt";
if(file_exists($filename)) {
unlink($filename);
} else {
echo 'file not exists';
}
设置文件指针的位置
fseek($fp, 2);
获取文件指针的位置
ftell($fp);
文件指针设置在文件开始处
rewind($fp);