加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在网站建设中PHP的编程8种常见文件操作

发布时间:2022-07-08 14:13:19 所属栏目:PHP教程 来源:互联网
导读:文件和目录的操作 PHP处理本地服务器上的文件和目录是非常方便的,但有时候会出现权限和路径相关的问题 1.打开文件 resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] ) $handle = fopen(filename,mode)//打
  文件和目录的操作
 
  PHP处理本地服务器上的文件和目录是非常方便的,但有时候会出现权限和路径相关的问题
 
  1.打开文件
 
  resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )
 
  $handle = fopen(filename,mode)//打开文件,返回代表此文件的资源的句柄
 
  文件名称可以使用相对路径或者绝对路径也可以使用网络协议模式,打开模式具有rr+ww+aa+xx+b
 
  在操作二进制文件时如果没有指定 'b' 标记,可能会碰到一些奇怪的问题,包括坏掉的图片文件以及关于 rn 字符的奇怪问题。
 
  为移植性考虑,强烈建议在用 fopen() 打开文件时总是使用 'b' 标记。
 
  以下是几种打开文件的方式
 
  $fp = @fopen('log.txt',"rb");
 
  $fp = @fopen('../log.txt',"rb");
 
  $fp = @fopen("http://www.runer.com.cn/default.htm","rb");//还可以使用ftp和ghoper等协议,必须启用php.ini文件中的allow_url_fopen选项
 
  ////////////////////////////代码部分////////////////////////////////////////
 
  $filename1 = "userinfo.txt";//目录下或include_path中存在这个文件
 
  $filename2 = "test.txt";//目录下或include_path并不存在这个文件
 
  $resource1 = fopen($filename1,"rb");
 
  @$resource2 = fopen($filename2,"rb");//因为目录中不存在这个文件,并且并未使用或include_path寻找包含文件所在路径则此操作会报错,使用错误抑制符@可以迫使浏览器不输出错误信息
 
  if($resource1)
 
  echo "打开文件{$filename1}成功";
 
  if(!@fopen($filename2,"r"))
 
  echo "打开文件{$filename2}不成功";
 
  //////////////////////////////////////////////////////////////////////////
 
  ---------------------输出结果----------------------------------------
 
  打开文件userinfo.txt成功
 
  ---------------------------------------------------------------------
 
  2.使用完毕文件后,要显式的告诉PHP已经使用完文件,让操作系统确保将文件的所有内容正确地从缓冲区刷新到硬盘
 
  使用fclose()关闭文件,
 
  bool fclose ( resource handle )//关闭一个已打开的文件指针
 
  3.判断文件读取的状态
 
  每个文件句柄都有一个文件指针,或者一个指出下一个操作将在文件中哪里发生的游标,根据fopen函数的mode参数
 
  文件指针最初位于文件的开头(0),或者文件的末尾
 
  feof()可以判断文件是否已经到末尾(到末尾后函数返回TRUE)
 
  filesize()函数返回文件的大小 5.写入文件
 
  fwrite()函数执行文件写入
 
  ////////////////////////////代码部分////////////////////////////////////////
 
  $filename = 'test.txt';
 
  $somec;
 
  // 首先我们要确定文件存在并且可写。
 
  if (is_writable($filename)) {
 
  // 在这个例子里,我们将使用添加模式打开$filename,
 
  // 因此,文件指针将会在文件的开头,
 
  // 那就是当我们使用fwrite()的时候,$somecontent将要写入的地方。
 
  if (!$handle = fopen($filename, 'a')) {
 
  echo "不能打开文件 $filename";
 
  exit;
 
  }
 
  // 将$somecontent写入到我们打开的文件中。
 
  if (fwrite($handle, $somecontent) === FALSE) {
 
  echo "不能写入到文件 $filename";
 
  exit;
 
  }
 
  echo "成功地将 $somecontent 写入到文件$filename";
 
  fclose($handle);
 
  } else {
 
  }
 
  echo "文件 $filename 不可写";
 
  //////////////////////////////////////////////////////////////////////////
 
  ---------------------输出结果----------------------------------------
 
  成功地将 添加这些文字到文件 写入到文件test.txt
 
  ---------------------------------------------------------------------
 
  对于二进制数据,必须指定第三个参数,它包含写入到磁盘的数据字节数
 
  $result = @fwrite($fp,$binary_data,mb_strlen($binary_data,'8bit'))。

(编辑:济源站长网)

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

    热点阅读