zoukankan      html  css  js  c++  java
  • php文件操作类

    <?php
    /**
     *本类为文件操作类,实现了文件的建立,写入,删除,修改,复制,移动,创建目录,删除目录
     * 列出目录里的文件等功能,路径后面别忘了加"/"
     */
    class fileoperate
    {
    var $path;// 文件路径 
    var $name;//文件名 
    var $result;//对文件操作后的结果
       
       
    
    
      /**
       * 本方法用来在path目录下创建name文件
       *
       * @param string path
       * @param string name
       */
      function creat_file($path,$name)//建立文件
    {
      $filename=$path.$name;
      if (file_exists($filename))
      {
        echo "文件已经存在,请换个文件名";
      }
      else
      {
        if (file_exists($path))
        {
          touch($name);
          rename($name,$filename);
          echo "文件建立成功 </br>";
        }
        else{
          echo "目录不存在,请检查";
        }
      }
    }
    
      /**
       * 本方法用来写文件,向path路径下name文件写入content内容,bool为写入选项,值为1时
       * 接着文件原内容下继续写入,值为2时写入后的文件只有本次content内容
       *
       * @param string_type path
       * @param string_type name
       * @param string_type content
       * @param bool_type bool
       */
      function write_file($path,$name,$content,$bool) //写文件
    {
      $filename=$path.$name;
      if ($bool==1) {
        if (is_writable($filename)) {
          $handle=fopen($filename,'a');
          if (!$handle) {
            echo "文件不能打开或文件不存在";
            exit;
          }
          $result=fwrite($handle,$content);
          if (!$result) {
            echo "文件写入失败";
          }
          echo "文件写入成功";
          fclose($handle);
        }
        else echo "文件不存在";
      }
      if ($bool==2) {
        if (!file_exists($filename)) {
          $this->creat_file($path,$name);
          $handle=fopen($filename,'a');
        if (fwrite($handle,$content));
        echo "文件写入成功";
    
        }
        else {
          unlink($filename);
          $this->creat_file($path,$name);
          $this->write_file($path,$name,$content,1);
        echo "文件修改成功";
        }
      }
    
    }
    
      /**
       * 本方法删除path路径下name文件
       *
       * @param string_type path
       * @param string_type name
       */
      function del_file($path,$name){ //删除文件
        $filename=$path.$name;
    
        if (!file_exists($filename)) {
          echo "文件不存在,请确认路径是否正确";
        }
        else {
          if (unlink($filename)){
            echo "文件删除成功";
          }
          else echo "文件删除失败";
        }
    
      }
    
      /**
       * 本方法用来修改path目录里name文件中的内容(可视)
       *
       * @param string_type path
       * @param string_type name
       */
      function modi_file($path,$name){ //文件修改
        $filename=$path.$name;
        $handle=fopen($filename,'r+');
        $content=file_get_contents($filename);
        echo "<form id='form1' name='form1' action='modi_file.php' method='post'>";
        echo "<textarea name=content rows='10'>content</textarea>文件内容";
        echo "<p>";
        echo "<input type='text' name='$filename' value=$filename />文件路径<p>";
        echo "<input name=ss type=submit value=修改文件内容 />";
        echo "</form>";
      }
    
      /**
       * 本方法用来复制name文件从spath到dpath
       *
       * @param string name
       * @param string spath
       * @param string dpath
       */
      function copy_file($name,$spath,$dpath) //文件复制
    {
      $filename=$spath.$name;
      if (file_exists($filename)) {
        $handle=fopen($filename,'a');
        copy($filename,$dpath.$name);
        if (file_exists($dpath.$name))
          echo "文件复制成功";
        else echo "文件复制失败";
      }
      else echo "文件不存在";
    }
    
      /**
       * 本方法把name文件从spath移动到path路径
       *
       * @param string_type path
       * @param string_type dirname
       * @param string_type dpath
       */
      function move_file($name,$spath,$dpath) //移动文件
    {
      $filename=$spath.$name;
      if (file_exists($filename)) { 
        $result=rename($filename,$dpath.$name);
        if ($result==false or !file_exists($dpath))
          echo "文件移动失败或目的目录不存在";
        else
          echo "文件移动成功";
      }
      else {
        echo "文件不存在,无法移动";
      }
    }
    }
    ?>

    本类为文件操作类,实现了文件的建立,写入,删除,修改,复制,移动,创建目录,删除目录,列出目录里的文件等功能,路径后面别忘了加"/"

    创建指定路径下的指定文件

         * @param string $path(需要包含文件名和后缀)

         * @param boolean $over_write 是否覆盖文件

         * @param int $time 设置时间。默认是当前系统时间

         * @param int $atime 设置访问时间。默认是当前系统时间

  • 相关阅读:
    luncence
    git与svn与github与码云的区别
    redis缓存在项目中的使用
    大宗风控体系“药不能停”:一线实战高手解密衍生品交易风险管控的三个层级!
    永恒的风控:大宗商品贸易融资背后的核心风险该如何规避?
    达信:深度解读COSO新版企业风险管理框架(ERM)
    DataOps Reading Notes
    SDN Reading Notes
    给某mooc站点准备的FE大纲
    《财富》杂志推荐的75本商业必读书?
  • 原文地址:https://www.cnblogs.com/yx520zhao/p/11510327.html
Copyright © 2011-2022 走看看