>  기사  >  php教程  >  PHP fopen函数读写txt文件实现程序

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

WBOY
WBOY원래의
2016-05-25 16:47:161881검색

下面我们利用几个实例来总结了利用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");
?>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.