PHP 读取文件的三个方法fgets ,fgetcsv, fgetss

来源:互联网 发布:室内设计软件培训班 编辑:程序博客网 时间:2024/06/05 15:41

读取文本文件常用的三个方法:

fgets ,fgetcsv, fgetss

 

fgets读取一行内容。如以下示例

 

///////////////////////////////////////////////////////////////////////

$fp=fopen("$DOCUMENT_ROOT/web/orders/orders.txt","rb");

         if(!$fp)

         {

                   echo"订单不能被处理"         ;

                   exit;

         }

        

         while(!feof($fp))

         {

                   $order=fgets($fp,200);            

                   echo$order."<br/>";      

         }

         fclose($fp);

///////////////////////////////////////////////////////////////////////////

 

$order=fgets($fp,200);    这一行读取文件有两个参数,第一个参数表示打开的文件对象,第二个参数表示读取一行的最大记录数(应该是最大记录数-1,本例最多一次读取一行199个字符),如果一行超过199个字节,则读取199个字节,这种读取方法对超长内容的读取比较节省内容空间,如果一行少于199个字符则读取一行内容。

当然也可以写成$order=fgets($fp)一次性读取整行内容,实际中我们的单行记录不长用后面这种方法读取的比较多。

 

fgetcsv读取一行内容。如以下示例:

///////////////////////////////////////////////////////////////////////

$fp=fopen("$DOCUMENT_ROOT/web/orders/orders.txt","rb");

         if(!$fp)

         {

                   echo"订单不能被处理"         ;

                   exit;

         }

        

         while(!feof($fp))

         {

                   $order=fgetcsv($fp,100,"\t");                  

                   echo$order[0]."<br/>"; 

echo $order[1]."<br/>"; 

         }

         fclose($fp);

///////////////////////////////////////////////////////////////////////////

$order=fgetcsv($fp,100,"\t");                   读取一行数据,并且把一行数据通过(\t制表符)分隔符来分隔得到一个数组。第一个参数表示打开的文件对象,第二个参数表示读取一行的最大记录数(应该是最大记录数-1,本例最多一次读取一行99个字符),如果一行少于99个字符则读取一行内容。

 

fgetcsv读取一行内容。如以下示例:

///////////////////////////////////////////////////////////////////////////

$fp=fopen("$DOCUMENT_ROOT/web/orders/orders.txt","rb");

         if(!$fp)

         {

                   echo"订单不能被处理"         ;

                   exit;

         }

        

         while(!feof($fp))

         {

                   $order=fgetss($fp,100,"<h1>");

                   echo$order."<br/>";      

         }

         fclose($fp);

///////////////////////////////////////////////////////////////////////////

$order=fgetss($fp,100,"<h1>");前两个参数跟上面的介绍一样,关键是第三个参数,如果orders.txt中有html标签,默认情况下第三个参数为空读取一行数据是没有html标签的,如果需要把html标签显示出来如<h1>,<b>标签读出来,可以写成$order=fgetss($fp,100,"<h1>,<b>");多个标签用,号分隔,这样读取来的数据就带html标记,显示出来就有样式。

0 0
原创粉丝点击