下面我们利用几个实例来总结了利用php fopen函数来实现文件的读写操作,有需要学习的朋友可参考参考.
简单的参考fopen函数fopen() 函数打开文件或者 URL.
如果打开失败,本函数返回 FALSE.
语法
fopen(filename,mode,include_path,context)
创建一个文件的实例代码如下:
<?php if (!file_exists("test.txt")) { //如果文件不存在(默认为当前目录下) $fh = fopen("test.txt", "w"); fclose($fh); //关闭文件 } ?>
利用php的读写文本文档的功能来实现修改和编辑robots文件实例代码如下:
<?php function get_txt($robots_file) //定义函数,内容用{}括起来 { if (file_exists($robots_file)) //如果文件存在,读取其中的内容 { $fp = @fopen($robots_file, "r"); //r是read的缩写,代表读取的意思,以只读方式打开文件 if ($fp) { while (!feof($fp)) { //如果没有到文件尾部 $robots_txt = fgets($fp, 4096); //逐行读取 $robots_all = $robots_all . $robots_txt; //将数据保存到$robots_all里面 } return ($robots_all); //返回所有内容 fclose($fp); //关闭文件 } } } function put_txt($robots_txt) { $fp = fopen("robots.txt", "w"); //w是write的缩写,代表写入的意思,以写入的方式打开文件 fputs($fp, $robots_txt); //输出文本到文件 fclose($fp); } ?>
<?php $edit = $_GET["edit"]; $txt = $_POST["txt"]; $get_txt = get_txt("robots.txt"); //调用刚才定义的函数打开robots文件. if ($edit == "write") { put_txt($txt); echo "成功保存 <a href=robots-editer.php>返回</a>"; } else { echo "成功读取<a href=robots.txt target=_blank>robots.txt</a> <a href=writer.php>返回</a>"; } ?> <?php if ($edit == "") { ?> <form name="form1" action="?edit=write" method="post"> <textarea name="txt" cols="160" rows="30"><?php echo $get_txt; ?> </textarea> <br /> <input name="submit" value="保存" type="submit" /> </form> <?php } ?>
通过PHP读取文本文档counter.txt里的数据,并+1保存到文本文档中.
新建counter.php文档,输入如下代码,跟ASP不同的是PHP里的单行注释是用//或者#,多行注释用/* */来实现:
实例代码如下:
<?php function get_hit($counter_file) //定义函数,内容用{}括起来,学过编程的人应该看出来了,跟C语言有点相似 { $count = 0; //将计数器归零,Php里的变量前面加上$号 if (file_exists($counter_file)) //如果计数器文件存在,读取其中的内容 { $fp = fopen($counter_file, "r"); //r是read的缩写,代表读取的意思,以只读方式打开文件 $count = 0 + fgets($fp, 20); /*读取前20位数赋值给count变量,由于fgets()函数读取的是字符串,所以需要在前面+0来转换为整数, 这一点跟ASP就不同了,ASP中字符串可以直接跟整型进行运算,而不用转换.*/ fclose($fp); //关闭文件 } $count++; //增加计数,这一点跟C就非常相似了 $fp = fopen($counter_file, "w"); //w是write的缩写,代表写入的意思,以写入的方式打开文件 fputs($fp, $count); //输出计数值到文件 fclose($fp); return ($count); //返回计数值 } ?>
<?php $hit = get_hit("counter.txt"); //调用刚才定义的函数处理counter.txt文档,并把结果赋值给hit变量. echo "您是第<b>" . "$hit" . "</b>位访客!"; //输出结果.PHP与ASP的区别在于:ASP的连字符是"&",而Php的连字符是".". ?>
同样在需要调用的PHP文档中插入这个文件:
<?php include ("counter.php"); ?>