当前位置:首页 > PHP教程 > php应用 > 列表

PHP fopen函数读写txt文件实现程序

发布:smiling 来源: PHP粉丝网  添加日期:2014-03-18 13:27:49 浏览: 评论:0 

下面我们利用几个实例来总结了利用php fopen函数来实现文件的读写操作,有需要学习的朋友可参考参考.

简单的参考fopen函数fopen() 函数打开文件或者 URL.

如果打开失败,本函数返回 FALSE.

语法

fopen(filename,mode,include_path,context)

创建一个文件的实例代码如下:

  1. <?php 
  2. if(!file_exists("test.txt")){     //如果文件不存在(默认为当前目录下) 
  3.     $fh = fopen("test.txt","w"); 
  4.     fclose($fh);      //关闭文件 
  5. ?> 

利用php的读写文本文档的功能来实现修改和编辑robots文件实例代码如下:

  1. <?php  
  2. function get_txt($robots_file)  
  3. //定义函数,内容用{}括起来  
  4. {  
  5. if(file_exists($robots_file))  
  6. //如果文件存在,读取其中的内容  
  7. {  
  8. $fp=@fopen($robots_file,"r");  
  9. //r是read的缩写,代表读取的意思,以只读方式打开文件  
  10. if ($fp) {  
  11. while (!feof($fp)) { //如果没有到文件尾部  
  12.  $robots_txt = fgets($fp, 4096); //逐行读取  
  13.  $robots_all = $robots_all.$robots_txt//将数据保存到$robots_all里面  
  14. }  
  15. return($robots_all); //返回所有内容  
  16. fclose($fp); //关闭文件  
  17. }  
  18. }  
  19. }  
  20.     
  21. function put_txt($robots_txt)  
  22. {  
  23. $fp=fopen("robots.txt","w");  
  24. //w是write的缩写,代表写入的意思,以写入的方式打开文件  
  25. fputs($fp,$robots_txt);  
  26. //输出文本到文件  
  27. fclose($fp);  
  28. }  
  29. ?>  
  30.     
  31. <?php  
  32. $edit=$_GET["edit"];  
  33. $txt=$_POST["txt"];  
  34. $get_txt=get_txt("robots.txt");  
  35.  //调用刚才定义的函数打开robots文件.  
  36.     
  37. if($edit=="write")  
  38. {  
  39. put_txt($txt);  
  40. echo "成功保存 <a href=robots-editer.php>返回</a>";  
  41. }  
  42. else 
  43. {  
  44. echo "成功读取<a href=robots.txt target=_blank>robots.txt</a> <a href=writer.php>返回</a>";  
  45. }  
  46. ?>  
  47.     
  48. <?php  
  49. if($edit=="")  
  50. {  
  51. ?>  
  52. <form name="form1" action="?edit=write" method="post">  
  53. <textarea name="txt" cols="160" rows="30"><?php echo $get_txt; ?></textarea>  
  54. <br />  
  55. <input name="submit" value="保存" type="submit" />  
  56. </form>  
  57. <?php  
  58. }  
  59. ?> 

通过PHP读取文本文档counter.txt里的数据,并+1保存到文本文档中.

新建counter.php文档,输入如下代码,跟ASP不同的是PHP里的单行注释是用//或者#,多行注释用/* */来实现:

实例代码如下:

  1. <?php  
  2. function get_hit($counter_file)  
  3. //定义函数,内容用{}括起来,学过编程的人应该看出来了,跟C语言有点相似  
  4. {  
  5. $count=0;  
  6. //将计数器归零,Php里的变量前面加上$号  
  7.     
  8. if(file_exists($counter_file))  
  9. //如果计数器文件存在,读取其中的内容  
  10. {  
  11. $fp=fopen($counter_file,"r");  
  12. //r是read的缩写,代表读取的意思,以只读方式打开文件  
  13. $count=0+fgets($fp,20);  
  14. /*读取前20位数赋值给count变量,由于fgets()函数读取的是字符串,所以需要在前面+0来转换为整数,  
  15. 这一点跟ASP就不同了,ASP中字符串可以直接跟整型进行运算,而不用转换.*/ 
  16. fclose($fp);  
  17. //关闭文件  
  18. }  
  19. $count++;  
  20. //增加计数,这一点跟C就非常相似了  
  21. $fp=fopen($counter_file,"w");  
  22. //w是write的缩写,代表写入的意思,以写入的方式打开文件  
  23. fputs($fp,$count);  
  24. //输出计数值到文件  
  25. fclose($fp);  
  26. return($count);  
  27. //返回计数值  
  28. }  
  29. ?>  
  30.     
  31. <?php  
  32. $hit=get_hit("counter.txt");  
  33. //调用刚才定义的函数处理counter.txt文档,并把结果赋值给hit变量.  
  34. echo "您是第<b>"."$hit"."</b>位访客!";  
  35. //输出结果.PHP与ASP的区别在于:ASP的连字符是“&”,而Php的连字符是“.”.  
  36. ?> 

同样在需要调用的PHP文档中插入这个文件:

<?php include("counter.php");?>

Tags: fopen context

分享到: