免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1556 | 回复: 0
打印 上一主题 下一主题

PHP中读写文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-10-21 14:37 |只看该作者 |倒序浏览
PHP中读写文件



在PHP中读写文件,可以用到一下内置函数:

1.fopen(创建文件和打开文件)

语法:
  1. view sourceprint?
  2. fopen(filename,mode)
复制代码
filename,规定要打开的文件。mode,打开文件的模式,可能的值见下表。

mode 说明
"r" 只读方式打开,将文件指针指向文件开头。
"r+" 读写方式打开,将文件指针指向文件开头。
"w" 写入方式打开,将文件指针指向文件开头并将文件大小截为零。如果文件不存在则尝试创建。
"w+" 读写方式打开,将文件指针指向文件开头并将文件大小截为零。如果文件不存在则尝试创建。
"a" 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建。
"a+" 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建。

如果成功打开文件,fopen函数的返回值是一个文件指针,如果出错,返回 FALSE。

示例:
  1. view sourceprint?
  2. <?php  

  3. $fp = fopen("test.txt", "r");  

  4. ?>
复制代码
2.fclose(关闭文件)

语法:
  1. view sourceprint?
  2. fclose(filepointer)
复制代码
filepointer,要关闭的文件指针。如果成功,fclose 函数返回 TRUE,如果失败,fclose 函数返回 FALSE。

示例:
  1. view sourceprint?
  2. <?php  

  3. $fp = fopen("test.txt", "r");  

  4. fclose($fp);  

  5. ?>
复制代码
3.feof(检测是否已到达文件末尾)

语法:
  1. view sourceprint?
  2. feof(filepointer)
复制代码
filepointer,要检测的文件指针,该指针必须指向成功打开没有关闭的文件。如果文件指针到了文件末尾或者出错时,feof函数返回 TRUE。

示例:
  1. view sourceprint?
  2. <?php  

  3. $fp = fopen("test.txt", "r");  

  4. while(! feof($fp))  

  5. {  

  6.   echo fgets($fp). "<br />";  

  7. }  

  8. fclose($fp);  
复制代码
?>
4.fgets(从文件指针中读取一行)

语法:
  1. view sourceprint?
  2. fgets(filepointer)
复制代码
filepointer,要读取的文件指针。如果成功,从文件中读取一行并返回字符串,如果失败,返回 FALSE。

示例:
  1. view sourceprint?
  2. <?php  

  3. $fp = fopen("test.txt", "r");  

  4. if($fp)  

  5. {  

  6.     for($i=1;! feof($fp);$i++)  

  7.     {  

  8.         echo "行".$i." : ".fgets($fp). "<br />";  

  9.     }  

  10. }  

  11. else

  12. {  

  13.     echo "打开文件失败";  

  14. }  

  15. fclose($fp);  

  16. ?>
复制代码
假设test.txt的内容为:
  1. view sourceprint?
  2. hello world  

  3. hello cnblogs  

  4. hello heihaozi  

  5. hello everyone
复制代码
页面输出的结果为:
  1. view sourceprint?
  2. 行1 : hello world   

  3. 行2 : hello cnblogs   

  4. 行3 : hello heihaozi   

  5. 行4 : hello everyone
复制代码
5.fwrite(写入文件)

语法:
  1. view sourceprint?
  2. fwrite(filepointer,string)
复制代码
filepointer,要写入的文件指针。string,要写入的字符串。如果成功,返回写入的字符数,如果失败,返回 FALSE。

示例:
  1. view sourceprint?
  2. <?php  

  3. $fp = fopen("test.txt", "w");//文件被清空后再写入  

  4. if($fp)  

  5. {  

  6.     $count=0;  

  7.     for($i=1;$i<=5;$i++)  

  8.     {  

  9.         $flag=fwrite($fp,"行".$i." : "."Hello World!\r\n");  

  10.         if(!$flag)  

  11.         {  

  12.             echo "写入文件失败<br>";  

  13.             break;  

  14.         }  

  15.         $count+=$flag;  

  16.     }  

  17.     echo "共写入".$count."个字符";  

  18. }  

  19. else

  20. {  

  21.     echo "打开文件失败";  

  22. }  

  23. fclose($fp);  

  24. ?>
复制代码
页面输出的结果为:

view sourceprint?
共写入100个字符
test.txt文件会被写入:
  1. view sourceprint?
  2. 行1 : Hello World!  

  3. 行2 : Hello World!  

  4. 行3 : Hello World!  

  5. 行4 : Hello World!  

  6. 行5 : Hello World!
复制代码
  

注:为了简化操作,部分函数的可选参数没有列出。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP