数据除了可以存储在数据库中,我们主要的还是存储在文件中,而且存储在文件中更加的方便直接。
注意,我的test.txt文件和demo.php在同一个目录下

demo.php
<?php
//打开文件r只读,r+读写,打开成功返回true,否则false
$file=fopen("C:/xampp/htdocs/test.txt","r");//绝对路径
if($file){
echo "文件test.txt打开了<br/>";
}else{
echo "文件test.txt打开失败文件打开了<br/>";
}
$file2=fopen("./test.txt","r");//相对路径
if($file2){
echo "文件test.txt打开了<br/>";
}else{
echo "文件test.txt打开失败<br/>";
}
if(fclose($file)){
echo "文件test.txt成功关闭<br/>";
}
if(fclose($file2)){
echo "文件test.txt成功关闭<br/>";
}
?>
输出
文件test.txt打开了 文件test.txt打开了 文件test.txt成功关闭 文件test.txt成功关闭
无论是txt文件还是jpg文件,还是doc文件,都属于同一种文件类型,file
文件夹是另外一种文件类型,dir
文件类型:
使用filetype($filename)判断文件的类型,返回字符串
stat($filename)可以输出文件的大部分属性
stat.php
<?php
print_r(stat("./test.txt"));
?>
输出
Array ( [0] => 2 [1] => 0 [2] => 33206 [3] => 1 [4] => 0 [5] => 0 [6] => 2 [7] => 12 [8] => 1533566405 [9] => 1533566414 [10] => 1533566405 [11] => -1 [12] => -1 [dev] => 2 [ino] => 0 [mode] => 33206 [nlink] => 1 [uid] => 0 [gid] => 0 [rdev] => 2 [size] => 12 [atime] => 1533566405 [mtime] => 1533566414 [ctime] => 1533566405 [blksize] => -1 [blocks] => -1 )
readfile($filename)读取文件内容写入输出缓冲,并返回文件字符串大小,报错返回false
fgets($filename)从文件指针读取一行,出错返回false
fgetc($filename)从文件指针读取一个字符,出错返回false
readfile.php
<?php
readfile("./test.txt");
?>
test.txt

输出
这是一个测试 这是一个测试这是一个测试 这是一个测试这是一个测试 这是一个测试这是一个测试 这是一个测试这是一个测试 这是一个测试这是一个测试 这是一个测试这是一个测试
fwrite($filename,$date)向文件中写入信息
fwrite.php
<?php
//使用@隐藏提示信息,@叫做错误控制运算符
$file=@fopen("./test.txt","r+");
echo $file."<br/>";
$num=fwrite($file,"今天是个好日子,心想的事儿都能成");
if($num){
echo "写入成功,写入了$num 字符";
}else{
echo "写入失败";
}
?>
输出
Resource id #3 写入成功,写入了48 字符
test.txt

但是使用r+模式,会覆盖原先的内容,如果不想覆盖原先的内容,而是在原先基础上增加内容,应该使用追加模式,这里不研究。
常用方法:
目录是一种特殊的文件类型
判断是否是目录isdir($path)
打开目录opendir($path)
关闭目录closedir($path)
dir.php
<?php
$path="D:\资料";
if(is_dir($path)){
//打开目录
$dir=opendir($path);
echo "文件打开成功<br/>";
}else{
echo "打开失败,程序退出<br/>";
exit();
}
closedir($dir);
?>
输出
文件打开成功
原文:https://www.cnblogs.com/1906859953Lucas/p/9434233.html