PHP 文件操作概述

PHP 对文件的操作,逐步细化完善中...

1.打开文件

在我部署的应用程序目录下新建了text.txt文件,用来测试使用.

首先需要获取到当前应用程序所在更目录,php内置变量可以直接获取到 $_SERVER['DOCUMENT_ROOT']

我们可以自己定义一个短变量来存取此内置变量

$DOCUMENT_ROOT=$_SERVER['DOCUMENT_ROOT'];

  1. //打开文件
  2. @$fp=fopen($DOCUMENT_ROOT."/test.txt", 'ab'); //前面参数是路径,后面参数a表示在打开文件后结尾处追加数据,b表示以二进制形式保存,推荐用此种形式
  3. //对文件独占锁定
  4. flock(@fp, LOCK_EX);
  5. if(!$fp)
  6. {
  7. //如果读取失败
  8. echo "读取文件失败

    ";

  9. exit;
  10. }
  11. if(fwrite($fp, $str,strlen($str)))
  12. {
  13. echo "写入文件成功

    ";

  14. }
  15. flock($fp, LOCK_UN);
  16. if(fclose($fp))
  17. {
  18. echo "文件已经关闭";
  19. }
  20. else
  21. {
  22. echo "文件关闭失败";
  23. }
  24. 读取文件:
  25. $fp=fopen($DOCUMENT_ROOT."/test.txt",'rb');
  26. if(!$fp)
  27. {
  28. echo "打开文件失败,请重新尝试";
  29. }
  30. while (!feof($fp))
  31. {
  32. $names=fgets($fp);
  33. echo "列表是:".$names."

    ";

  34. }

feof('资源文件') 此方法判断文件流是否读取到了文件的末尾(file end of file)如果没有到末尾,指针将下移到下一行

fgets('资源文件') 从文本中读取一行内容,知道遇到\n\r换行符为止,用来处理文本行数据读取常用函数.与函数fgetss('资源文件','长度','过滤字符') 相似,后者一般用于读取别人提供的东西,过滤掉我们不需要的内容.

fgetcsv('资源文件','读取长度','分隔符')此函数是上面俩个函数的扩展函数,功能是可以用分隔符把一行文本分成多行来读取.fgetcsv($fp,500,'\t') 就是将文本以制表符一行数据分成多行来读取.