文件处理

计应134(实验班) 王锐     

文件处理包读取、关闭、重写等。

1、打开/关闭文件

     打开/关闭文件使用fopen()函数和fclose()函数。打开文件应格外认真,因为一不小心就有可能将文件内容全部删掉。

   (1)打开文件

     对文件进行操作时首先要打开文件,这是进行数据存取的第一步。在PHP中使用fopen()函数打开文件,fopen()函数的语法如下:

    resource fopen(string filename,string mode[, bool use_include_path]);

    参数filename是要打开的包含路径的文件名,可以试相对路径,也可以试绝对路径。如果在没有任何前缀则表示打开的是本地文件;参数mode是打开文件的方式。

   (2)关闭文件

    对文件的操作结束后应该关闭这个文件,否则可能引起错误。在PHP中使用fclose()函数关闭文件,该函数的语法如下:

    bool fclose(resource handle);

    该函数将参数handle指向的文件关闭,如果成功,返回true;否则返回false。其中的文件指针必须是有效的,并且是通过fopen()函数成功打开的文件。例如:

<?php

  $f_open=fopen("../file.txt.","rb");              //打开文件

  ......                                                         //对文件进行操作

  fclose($f_open)                                      //操作完成后关闭文件

?>

2、读写文件

(1)从文件中读取数据

  从文件中读取数据,可以读取一个字符、一行字串或整个文件,还可以读取指定长度的字串。

 读取整个文件:readfile()、file和file_get_contents()

例1:

使用readfile()函数、file()函数和file_get_contents()函数分别读取文件tm.txt的内容,实例代码如下:

<table border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td width="250" height="25" align="right" valign="middle" scope="col">使用readfile()函数读取文件内容:</td>
    <td height="25" align="center" valign="middle" scope="col">
 <?php readfile('tm.txt'); ?> </td>
  </tr>


  <tr>
    <td height="25" align="right" valign="middle">使用file()函数读取文件内容:</td>
    <td height="25" align="center" valign="middle">
 <?php
  $f_arr = file('tm.txt');
  foreach($f_arr as $cont){
   echo $cont."<br>";
  }
 ?></td>
  </tr>


  <tr>
   <td width="250" height="25" align="right" valign="middle" scope="col">使用file_get_contents()函数读取文件内容:</td>
 <td height="25" align="center" valign="middle" scope="col">
 <?php
 
  $f_chr = file_get_contents('tm.txt');
  echo $f_chr;
 
 ?></td>
  </tr>
</table>

运行结果如图1.1所示:

                                          图1.1读取整个文件

 

(2)读取一行数据:fgets()和fgetss()

   fgets()函数

fgets()函数用于一次读取一行数据。函数语法如下:

string fgets(resource handle[, int length])

  fgetss()函数

fgetss()函数是fgets()函数的变体,用于读取一行数据。同时,fgetss()函数会过滤掉被读取内容中的HTML和PHP标记。函数语法如下:

string fgetss(resource handle[, int length[, string allowable_tags]])

例2:

使用fgets()函数与fgetss()函数分别读取fun.php文件并显示出来。实例代码如下:

<table border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td height="30" align="right" valign="middle" scope="col">使用fgets函数:</td>
    <td height="30" align="center" valign="middle" scope="col">
<?php
 $fopen = fopen('fun.php','rb');
 while(!feof($fopen)){
  echo fgets($fopen);
 }
 fclose($fopen);
?> </td>
  </tr>
  <tr>
    <td height="30" align="right" valign="middle">使用fgetss函数:</td>
    <td height="30" align="center" valign="middle">
 <?php
 $fopen = fopen('fun.php','rb');
 while(!feof($fopen)){
  echo fgetss($fopen);
 }
 fclose($fopen);
?> </td>
  </tr>
</table>

运行结果如图2.1所示:

                         图2.1 fgets()函数和fgetss()函数的区别

      读取一个字符:fgetc()

函数语法如下:string fgetc(resource handle)

     读取指定长度的字串:fread()

函数语法如下:string fread(resource handle,int length)

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值