| 网站镜像:电信 网通 | 加入收藏 | 设为首页

如何使用PHP操作文件(文件读取篇)

  • 听说要讨论,朋友邀写一下,希望大家见谅,水平有限:)


        现在很多的朋友拥有自己免费的空间(毕竟中国穷人还是多的),而吝啬的ISP不给提供MYSQL,
    于是聪明的朋友们就选择了----(FILE文件表数据库格式),其实是我自己个人这样定义的~

        Access为文件表数据库,如果您在您的机器上只要加上个DSN就可以透过ODBC来存取您的ACCESS
    内的数据。可是在网络中ISP不可能给你配置DSN的哦~,因此我们选择了采用文件来保存数据
    FILE DATA。

        兼顾内容:

             1、实现数据库一些功能--(别指望象数据库那样哦~)
             2、数据安全稳定 --     (需要程序来支持)
             3、维护的便捷   --     (TOO UP)

       这些内容要是一次写在这里,好象不太好~

       先从基础的说起~

       首先您需要个文本来保存,可以有以下几种方式来建立

      1、 echo "info" >> File.txt
      2、 fopen("file.txt","w/w+/a/a+");
      3、 UPLOAD YOUR FILE.txt

      第一实现就是
       exec()  --- 用之前先看看PHPINFO()里是否禁止了此函数哦~

      第二
        基本都支持啊,我想没哪个ISP把这个也给disable吧!

      第三
        老兄,将您本地的文件传上去吧~


      建立好文件了,以下就是对文件的操作了

      对文件的操作简单的来说就是--读/写

      其中更新/删除全包括在里面。


    一、 这里我们先说一下文件的读取
       
                 信息保存到了数据文件内后需要读出来的,不读出来,写的再多也是无用,读取文件PHP提供了几种方式
                  1、fopen
                  2、file
              3、fsockopen
                 具体的例子就摘抄一下了
            1、$fp=fopen("text.txt","method");
                其中METHOD为
                    'r' - 以只读方式打开文件; 读取标志在文件第一个字符(相当于C中的文件指针).

                    'r+' - 以读/写方式打开文件; 读取标志在文件第一个字符(相当于C中的文件指针).

                    'w' - 以写的方式打开文件; 将写标志放在首位,同时将文件大小设置为最小-0字节. 如果打开的文件不存在,则建立这个文件以提供写.

                    'w+' - 以读/写方式打开文件; 将写标志放在首位,同时将文件大小设置为最小-0字节. 如果打开的文件不存在,则建立这个文件以提供写

                    'a' - 以只写的方式打开文件; 将标志放在文件的EOF,所有添加的信息将在文件的最后,如果文件不存在则建立文件。

                    'a+' -以读/写的方式打开文件;将标志放在文件的EOF,所有添加的信息将在文件的最后,如果文件不存在则建立文件。
            此函数还可以打开http://,ftp://,udp://文件
                    其中http://,udp://应该以读的方式打开,否则将出错

            对此函数有个小小的提示:请勿打开http://文件自身,否则会有小小麻烦~
                <?
                    $testfile="test.txt";
                    $fp=fopen($testfile,'r');
                    $outputtext=fgets($testfile,filesize($testfile));
                    echo "$testfile文本内容:".$outputtext;
                    fclose($fp)
                ?>

            2、    var $fp=array();
                $fp=file("text.txt");
                这样的表达的含义大家一看就名白了,file()是将文件全部读取,然后存放到一个数组中
                            其中文件中每出现一个\n(回车换行)则数组中多一个元素
                
                file函数只有一个参数  file(filename)
                <?
                    $testfile="test.txt";
                    $fp=file($testfile);
                    while($int_a=0;$int_a<count($fp);$int_a++){
                        $info.=$fp[$int_a]."<br>\n";
                    }
                    print "$testfile文本内容:\n".$info;
                ?>
        
            3、
                <?php    //此为FSOCKOPEN打开HTTP://文件
                $fp = fsockopen ("www.php.net", 80, $errno, $errstr, 30);
                if (!$fp) {
                    echo "$errstr ($errno)<br>\n";
                } else {
                    fputs ($fp, "GET / HTTP/1.0\r\nHost: www.php.net\r\n\r\n");
                    while (!feof($fp)) {
                        echo fgets ($fp,128);
                    }
                    fclose ($fp);
                }
                ?>
                <?php        //此为FSOCKOPEN打开UDP://文件
                    $fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
                    if (!$fp) {
                        echo "ERROR: $errno - $errstr<br>\n";
                    } else {
                        fwrite($fp,"\n");
                        echo fread($fp, 26);
                        fclose($fp);
                    }
                ?>



             文件的读取暂时就到这里,下面该是文件的写入了....