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') 就是将文本以制表符一行数据分成多行来读取.