PHP文件处理fopen、fclose、readfile、file、file_get_contents、fgets、fgetss、fgetc、fread、fwrite、fputs、copy

文件是用来存取数据的方式之一。相对于数据库来说,文件在使用上更方便、直接。如果数据少,简单,使用文件是最合适的方法,PHP可以通过配置文件和函数来修改上传功能。
1、fopen() :打开文件
在这里插入图片描述

<?php
$file = fopen("test.txt","r");
$file = fopen("/home/test/test.txt","r");
$file = fopen("/home/test/test.gif","wb");
$file = fopen("http://www.example.com/","r");
$file = fopen("ftp://user:password@example.com/test.txt","w");
?>

2、fclose() :关闭文件

<?php
    $f = fopen("file.txt", "rb");//打开文件
    ...                 //对文件操作
    fclose($f);           //关闭文件
?>

3、readfile() :读入一个文件将其写入到缓冲,出现错误返回 false。
4、file() :读取整个文件内容,以数组的方式输出,出现错误返回 false。
5、file_get_contents() :读取整个文件内容,后面有两个参数:offset和maxlen,将在offset指定的位置开始读取长度为maxlen的内容。出现错误返回false。

       <table width="700" border="2" cellspacing="2" cellpadding="2" bgcolor="pink">
            <tr>
                <td width="250" height="200" align="right" valign="middle">readfile读取文件:</td>
                <td align="right" valign="middle"><?php readfile("file.txt"); ?></td>
            </tr>
            <tr>
                <td width="250" height="200" align="right" valign="middle">file读取文件:</td>
                <td align="right" valign="middle">
                    <?php
                        $f_arr = file("file.txt");
                        foreach($f_arr as $cont){
                            echo $cont."<br/>";
                        }
                    ?>
                </td>
            </tr>
            <tr>
                <td width="250" height="200" align="right" valign="middle">file_get_contents读取文件:</td>
                <td align="right" valign="middle">
                    <?php
                        $f = file_get_contents("file.txt");
                        echo $f;
                    ?>
                </td>
            </tr>
        </table>

结果显示:
在这里插入图片描述
6、fgets() :一次读取一行数据。
7、fgetss() :一次读取一行数据。同时会过滤掉文件内容中的HTML和PHP标记。
file.txt 的内容为:

PHP <br/>
Java <br/>
C++ <h1>
Python </h1>
HTML
css
js



       <table width="700" border="2" cellspacing="2" cellpadding="2" bgcolor="pink">
            <tr>
                <td width="250" height="200" align="right" valign="middle">fgets读取文件:</td>
                <td align="right" valign="middle">
                    <?php
                        $f_open = fopen("file.txt", "rb");
                        while (!feof($f_open)) {  //feof函数测试指针是否到了文件结束位置
                            echo fgets($f_open);
                        }
                        fclose($f_open);
                    ?>
                </td>
            </tr>
            <tr>
                <td width="250" height="200" align="right" valign="middle">fgetss读取文件:</td>
                <td align="right" valign="middle">
                    <?php
                        $f_open = fopen("file.txt", "rb");
                        while (!feof($f_open)) {   //feof函数测试指针是否到了文件结束位置
                            echo fgetss($f_open);
                        }
                        fclose($f_open);
                    ?>
                </td>
            </tr>
        </table>

结果显示:
在这里插入图片描述8、fgetc() :读取一个字符。

<?php
    $f_open = fopen("file.txt", "rb");
    while (true == ($chr = fgetc($f_open))){//使用fgetc函数取得一个字符,判断是否为真
        echo $chr;
    }
    fclose($f_open);
?>

结果显示:
在这里插入图片描述
9、fread() :从文件中读取指定长度的字节。

<?php
    $f_open = fopen("file.txt", "rb");
    echo fread($f_open, 10);  //输出前10个字节
    echo "<br/><br/>";
    echo fread($f_open, filesize("file.txt"));  //输出剩余的字节
    fclose($f_open);
?>

结果显示:

PHP Java C

++ Python HTML css js

10、fwrite() 、 fputs() :将数据写入文件。(两个函数用法相同)

<?php
    $f_open = fopen("file.txt", "wb");
    $str_fwrite = "this is fwrite";
    echo "用fwrite函数写入的文件为:<br/>";
    fwrite($f_open, $str_fwrite); //清除原来的数据,重新写入
    readfile("file.txt");
?>

结果显示:

用fwrite函数写入的文件为:
this is fwrite

11、file_put_contents() :将数据写入文件。
12、copy :复制文件。成功返回true,失败返回false。
13、rename :重命名文件。
14、unlink ;删除文件。
15、fileatime :返回最后一次访问文件的时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值