存储数据 有 两种 基本方法:保存到 普通文件 中,或者 保存到数据库 中。
今天看了文件处理部分,做个简单的整理
常用的文件处理函数:
- fopen () 打开文件
$fp = fopen ( "$DOCUMENT_ROOT/../articles/001.txt" , 'w' ) ;
- fwrite () 写文件
fwrite ( $fp , $string ) ;
- fclose () 关闭文件
fclose ( $fp ) ;
- flock () 函数锁定或释放文件。
flock ( $fp , LOCK_EX ) ;
- feof () 检测是否已到达文件末尾 (eof)
while( !feof ( $file ) )
{
echo fgets ( $file ). " <br/> " ;
}
- fget() 每次读取一行数据
// 每次读取一行,直到读到一个换行符 \n ,或者文件结束符 EOF,可以读取的最大长度为指定长度减去1B;
$str = fgets($fp , 999);
fgetss() 、fgetcsv() 都是 fgets() 的变体,但是 fgetss()可以过滤字符串中所包含的 PHP和HTML标记,出于安全性考虑可使用;fgetcsv()
//从文件中读取一行,并且在有制表符(\t)的地方将文件内容分行。
fgetcsv($fp,100,"\t");
readfile() 读取整个文件
同样读取整个文件的还有 fpassthru() 和 file()fgetc() 读取一个字符
while (!feof($fp)){
$char = fgetc($fp);
if(!feof($fp)){
echo ( $char=="\n" ? "<br/>" : $char );
}
}
使用 fgetc() 有一个缺点就是它会返回文件的结束符 EOF,而 fgets() 不会。
- fread() 读取任意长度
string fread( $fp , 200 );
此外,还有一些常用的函数: file_exists() , filesize() , unlink() 删除一个文件 ,
在文件中定位, rewind() : 将文件的指针复位到文件的开始 ;
fseek(): 可以将文件指针指向某个位置 ;
ftell() : 可以以字节为单位报告文件指针当前所在的位置 ;