PHP 文件操作概述
PHP 对文件的操作,逐步细化完善中…
1.打开文件
在我部署的应用程序目录下新建了text.txt文件,用来测试使用.
首先需要获取到当前应用程序所在更目录,php内置变量可以直接获取到 $_SERVER['DOCUMENT_ROOT']
我们可以自己定义一个短变量来存取此内置变量
$DOCUMENT_ROOT=$_SERVER['DOCUMENT_ROOT'];
//打开文件
@ $fp = fopen ( $DOCUMENT_ROOT . "/test.txt" , 'ab' ); //前面参数是路径,后面参数a表示在打开文件后结尾处追加数据,b表示以二进制形式保存,推荐用此种形式
//对文件独占锁定
flock (@fp, LOCK_EX);
if (! $fp )
{
//如果读取失败
echo "读取文件失败
" ;
exit ;
}
if (fwrite( $fp , $str , strlen ( $str )))
{
echo "写入文件成功
" ;
}
flock ( $fp , LOCK_UN);
if (fclose( $fp ))
{
echo "文件已经关闭" ;
}
else
{
echo "文件关闭失败" ;
}
读取文件:
$fp = fopen ( $DOCUMENT_ROOT . "/test.txt" , 'rb' );
if (! $fp )
{
echo "打开文件失败,请重新尝试" ;
}
while (! feof ( $fp ))
{
$names = fgets ( $fp );
echo "列表是:" . $names . "
" ;
}feof('资源文件') 此方法判断文件流是否读取到了文件的末尾(file end of file)如果没有到末尾,指针将下移到下一行
fgets('资源文件') 从文本中读取一行内容,知道遇到\n\r换行符为止,用来处理文本行数据读取常用函数.与函数fgetss('资源文件','长度','过滤字符') 相似,后者一般用于读取别人提供的东西,过滤掉我们不需要的内容.
fgetcsv('资源文件','读取长度','分隔符')此函数是上面俩个函数的扩展函数,功能是可以用分隔符把一行文本分成多行来读取.fgetcsv($fp,500,'\t') 就是将文本以制表符一行数据分成多行来读取.