Heim >php教程 >php手册 >PHP fopen函数读写txt文件实现程序

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

WBOY
WBOYOriginal
2016-05-25 16:47:161939Durchsuche

下面我们利用几个实例来总结了利用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");
?>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn