加入收藏 | 设为首页 | 会员中心 | 我要投稿 鄂州站长网 (https://www.0711zz.com.cn/)- 云通信、区块链、物联平台、操作系统、高性能计算!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php中常用文件操作读写函数介绍

发布时间:2022-07-28 09:11:23 所属栏目:PHP教程 来源:互联网
导读:本文章介绍了下面几个常用的文件操作函数 file_get_contents 读取整个文件内容 fopen 创建和打开文件 fclose 关闭文件 fgets 读取文件一行内容 file_exists 检查文件或目录是否存在 file_put_contents 写入文件 fwrite 写入文件 用 PHP 内置函数 file_exists
  本文章介绍了下面几个常用的文件操作函数 file_get_contents 读取整个文件内容 fopen 创建和打开文件 fclose 关闭文件 fgets 读取文件一行内容 file_exists 检查文件或目录是否存在 file_put_contents 写入文件 fwrite 写入文件
 
  用 PHP 内置函数 file_exists 可以检查某个文件或目录是否存在.如果文件或目录存在,file_exists 函数返回 TRUE,如果不存在,则返回 FALSE.
 
  下面是一个简单的检查文件是否存在的实例代码:
 
  实例代码如下:
 
  <html>
  <body>
  ​<?php
  $filename = "C:blablaphphello.txt";
  if (file_exists($filename))   
  {echo "The file $filename exists.";
  }else  {
  echo "The file $filename does not exist."
  ;}?>
  </body>
  </html>
  如果文件存在,执行该 PHP 文件的显示结果是:
 
  The file C:blablaphphello.txt exists.
 
  如果文件不存在,执行该 PHP 文件的显示结果是:
 
  The file C:blablaphphello.txt does not exist.
 
  你也可以用file_exists 函数测试某个目录是否存在,示例代码如下:
 
  实例代码如下:
 
  if (file_exists("C:blablaphp"))
    {echo "yes";}
  else
    {echo "no";}
  用 PHP 内置函数 file_get_contents 可以读取整个文件内容.
 
  file_get_contents 函数读取整个文件,返回一个字符串.file_get_contents 最简单的写法如下:
 
  file_get_contents(filepath)
 
  举个例子,你有一个 .txt 文件,文件的路径为:
 
  C:blablaphphello.txt
 
  下面的 php 代码用 file_get_contents 函数读取该文件,并输出该文件内容:
 
  实例代码如下:
 
  <html>
  <body>
  <?php
  $f = file_get_contents("C:blablaphphello.txt");
  echo $f;?>
  </body>
  </html>
  注意:由于文件路径含有反斜杠,而在 PHP 字符串里,反斜杠需要转义,要用两个反斜杠表示.(如果你忘记了 PHP 某些特殊字符的转义,请翻阅前面所讲的 PHP 字符串.)
 
  file_get_contents 函数的返回值是所读取的文件内容字符串,如果出错,返回 FALSE.
 
  使用 PHP 内置函数 fopen,可以打开一个文件.
 
  打开文件
 
  fopen 最简单语法如下:
 
  fopen(filepath,mode)
 
  下面是打开一个文件的 PHP 代码示例:
 
  实例代码如下:
 
  <?php
  $f = fopen("c:datainfo.txt", "r");
  ?>  
  其中,c:datainfo.txt 是文件路径,r 表示打开文件的模式(mode) 为只读 (read only) 模式.
 
  fopen 函数打开文件的模式有以下几种:
 
  模式 (mode) 说明
 
  r 只读,文件指针在文件开始处.
 
  r+ 读和写,文件指针在文件开始处.
 
  w 只写,文件指针在文件开始处,将文件长度截成0.
 
  如果文件不存在,创建文件.
 
  w+ 读和写,文件指针在文件开始处,将文件长度截成0.
 
  如果文件不存在,创建文件.
 
  a 只写,文件指针在文件末尾处.
 
  如果文件不存在,创建文件.
  a+ 读和写,文件指针在文件末尾处.
 
  如果文件不存在,创建文件.
 
  x 只写,文件指针在文件开始处.
 
  如果文件已经存在,fopen () 函数返回 FALSE 并产生一个E_WARNING 级别的错误.
 
  如果文件不存在,创建文件.
 
  x+ 读和写,文件指针在文件开始处.
 
  如果文件已经存在,fopen () 函数返回 FALSE 并产生一个E_WARNING 级别的错误.
 
  如果文件不存在,创建文件.
 
  如果成功打开文件,fopen 函数的返回值是一个文件指针资源 (a file pointer resource),如果出错,返回 FALSE.
 
  创建文件
 
  选择 fopen 函数参数 mode 的适当的值 ,你可以用 fopen 创建一个文件,比如:
 
  实例代码如下:
 
  <?php
  $f = fopen("c:data101.txt", "w");
  $f = fopen("c:data102.txt", "w+");
  $f = fopen("c:data103.txt", "a");
  $f = fopen("c:data104.txt", "a+");
  $f = fopen("c:data105.txt", "x");
  $f = fopen("c:data106.txt", "x+");
  ?>
  用 PHP 内置函数 fgets 可以读取文件的一行内容.
 
  fgets读取文件一行内容的语法是:
 
  fgets(filepointer)
 
  下面我们举个例子讲述如何一行行读取一个文件.
 
  假设我们有一个 sites.txt 文件,该文件有三行,内容如下:
 
  woyouxian.comblabla.cngoogle.com
 
  sites.txt 的文件路径是:
 
  C:blablaphpsites.txt
 
  我们用 PHP 一行行读取文件内容,PHP代码如下:
 
  实例代码如下:
 
  <html>
  <body>
  <?php
  $f= fopen("C:blablaphpsites.txt","r");
  while (!feof($f)){   
  $line = fgets($f);   
  echo "site: ",$line,"<br />";
  }
  fclose($f);?>
  </body>
  </html>
  执行该 PHP 文件,返回的显示结果是:
 
  site: woyouxian.comsite: blabla.cnsite: google.com
 
  该 PHP 代码的第一行是打开文件,最后一行是关闭一个文件.当中的 while 循环语句表示,当文件没有结束,就读取一行,循环执行,直到文件指针到文章末尾为止.
 
  feof 函数是PHP 的一个内置函数,用来测试文件指针是否已经到了文件末尾.如果是返回 TRUE,如果不是,返回 FALSE.eof 的英文意思就是 end of file,很容易记.
 
  正常情况下,fgets 函数的返回值是一个字符串,如果出错,返回 FALSE.
 
  讲述使用 PHP 内置函数 fclose 关闭一个文件.
 
  fclose 函数语法如下:
 
  fclose(filepointer)
 
  如果成功,fclose 函数返回 TRUE,如果失败,fclose 函数返回 FALSE.
 
  下面是一个 fclose 函数的 PHP 代码示例:
 
  实例代码如下:
 
  <?php
  $f = fopen("c:datainfo.txt", "r");
  fclose($f);
  ?>
  这一章节我们讲述如何用 fopen, fwrite, fclose 来实现打开文件、写入文件和保存关闭文件的这一系列的操作.重点讲述 fwrite 函数.
 
  PHP 内置函数 fwrite 用于写入文件.
 
  fwrite 函数的常用语法为:
 
  fwrite(handle,string)
 
  其中,参数 handle 表示文件指针资源 (通常由 fopen 函数创建),string 表示要写入的内容.
 
  下面一个PHP 代码示例演示如何创建一个新文件,并写入内容,然后保存并关闭文件:
 
  实例代码如下:
 
  <html><body><?php
  $f= fopen("C:blablaphpwrite.txt","w");
  fwrite($f,"It is awesome.");fclose($f);echo "done";
  ?>
  </body>
  </html>
  执行该 PHP 文件后,会创建一个路径为 C:blablaphpwrite.txt 的文件,文件的内容是It is awesome..
 
  如果你想在现有文件上再追加内容,你只要修改 fopen 的 参数 mode 值即可,如下:
 
  $f= fopen("C:blablaphpwrite.txt","a");
 
  有关 fopen 函数的参数 mode 值,详见 fopen.
 
  fwrite 函数返回写入文件的字节数 (number of bytes) ,如果出错,返回 FALSE.
 
  PHP 内置函数 file_put_contents 用于写入文件.
 
  file_put_contents 函数最简单的写法,可以只用两个参数,一个是文件路径,一个是要写入的内容,语法如下:
 
  file_put_contents(filepath,data)
 
  如果文件不存在,file_put_contents 函数会自动创建文件;如果文件已存在,原有文件被重写.
 
  你可以利用 file_put_contents 函数创建并写入一个新文件,或者重写一个原有文件.
 
  下面是一个使用 file_put_contents 函数的 PHP 代码示例:
 
  实例代码如下:
 
  <html><body>
  <?php$path ="C:blablafilesysone.txt";
  $content = "one for all";
  file_put_contents($path,$content);
  if (file_exists($path))  
   {echo "ok";}else  {echo "ng";}
  ?></body></html>
  该 PHP 代码示例会创建一个路径为 C:blablafilesysone.txt 的文件,该文件的内容是 one for all .
 
  如果你想在一个已有文件上追加内容,你也可以使用file_put_contents 函数,只需要加一个参数即可.
 
  file_put_contents(filepath,data,flags)
 
  当 flags 的值为 FILE_APPEND 时,表示在已有文件上追加内容.
 
  比如我们要在上面示例的C:blablafilesysone.txt 文件上追加内容,我们可以这样写:
 
  实例代码如下:
 
  <html><body><?php
  $path ="C:blablafilesysone.txt";
  $content = " all for one";
  file_put_contents($path,$content,FILE_APPEND);
  if (file_exists($path))   
  {echo "ok";}else  {echo "ng";}
  ?></body>
  </html>
  执行该 PHP 文件之后,我们再看 C:blablafilesysone.txt 文件,发现文件内容增加了,变成了:
 
  one for all all for one
 
  file_put_contents 函数返回写入文件的字节数 (number of bytes) ,如果出错,返回 FALSE

(编辑:鄂州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读