好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP文件操作类(文件和文件夹创建,复制,移动

PHP文件操作类(文件和文件夹创建,复制,移动和删除)

本文章给大家分享的文件操作类包括对文件和文件夹创建,复制,移动和删除,有需要对文件操作学习的同学可进入参考参考。

实例代码如下:

<?php  /**   * 操纵文件类   *    * 例子:   * FileUtil::createDir('a/1/2/3');                    测试建立文件夹 建一个a/1/2/3文件夹   * FileUtil::createFile('b/1/2/3');                    测试建立文件        在b/1/2/文件夹下面建一个3文件   * FileUtil::createFile('b/1/2/3.exe');             测试建立文件        在b/1/2/文件夹下面建一个3.exe文件   * FileUtil::copyDir('b','d/e');                    测试复制文件夹 建立一个d/e文件夹,把b文件夹下的内容复制进去   * FileUtil::copyFile('b/1/2/3.exe','b/b/3.exe'); 测试复制文件        建立一个b/b文件夹,并把b/1/2文件夹中的3.exe文件复制进去   * FileUtil::moveDir('a/','b/c');                    测试移动文件夹 建立一个b/c文件夹,并把a文件夹下的内容移动进去,并删除a文件夹   * FileUtil::moveFile('b/1/2/3.exe','b/d/3.exe'); 测试移动文件        建立一个b/d文件夹,并把b/1/2中的3.exe移动进去                      * FileUtil::unlinkFile('b/d/3.exe');             测试删除文件        删除b/d/3.exe文件   * FileUtil::unlinkDir('d');                      测试删除文件夹 删除d文件夹   */   class  FileUtil {  /**       * 建立文件夹       *       * @param string $aimUrl       * @return viod       */   function  createDir( $aimUrl ) {          $aimUrl  =  str_replace ( '' ,  '/' ,  $aimUrl );          $aimDir  =  '' ;          $arr  =  explode ( '/' ,  $aimUrl );          foreach  ( $arr   as   $str ) {            $aimDir  .=  $str  .  '/' ;            if  (! file_exists ( $aimDir )) {               mkdir ( $aimDir );           }         }  }  /**       * 建立文件       *       * @param string $aimUrl        * @param boolean $overWrite 该参数控制是否覆盖原文件       * @return boolean       */   function  createFile( $aimUrl ,  $overWrite  = false) {          if  ( file_exists ( $aimUrl ) &&  $overWrite  == false) {            return  false;         }  elseif  ( file_exists ( $aimUrl ) &&  $overWrite  == true) {           FileUtil::unlinkFile( $aimUrl );         }          $aimDir  = dirname( $aimUrl );         FileUtil::createDir( $aimDir );         touch( $aimUrl );          return  true;  }  /**       * 移动文件夹       *       * @param string $oldDir       * @param string $aimDir       * @param boolean $overWrite 该参数控制是否覆盖原文件       * @return boolean       */   function  moveDir( $oldDir ,  $aimDir ,  $overWrite  = false) {          $aimDir  =  str_replace ( '' ,  '/' ,  $aimDir );          $aimDir  =  substr ( $aimDir , -1) ==  '/'  ?  $aimDir  :  $aimDir  .  '/' ;          $oldDir  =  str_replace ( '' ,  '/' ,  $oldDir );          $oldDir  =  substr ( $oldDir , -1) ==  '/'  ?  $oldDir  :  $oldDir  .  '/' ;          if  (! is_dir ( $oldDir )) {            return  false;         }          if  (! file_exists ( $aimDir )) {           FileUtil::createDir( $aimDir );         }         @ $dirHandle  = opendir( $oldDir );          if  (! $dirHandle ) {            return  false;         }          while (false !== ( $file  = readdir( $dirHandle ))) {            if  ( $file  ==  '.'  ||  $file  ==  '..' ) {               continue ;           }            if  (! is_dir ( $oldDir . $file )) {              FileUtil::moveFile( $oldDir  .  $file ,  $aimDir  .  $file ,  $overWrite );           }  else  {              FileUtil::moveDir( $oldDir  .  $file ,  $aimDir  .  $file ,  $overWrite );           }         }          closedir ( $dirHandle );          return   rmdir ( $oldDir );  }  /**       * 移动文件       *       * @param string $fileUrl       * @param string $aimUrl       * @param boolean $overWrite 该参数控制是否覆盖原文件       * @return boolean       */   function  moveFile( $fileUrl ,  $aimUrl ,  $overWrite  = false) {          if  (! file_exists ( $fileUrl )) {            return  false;         }          if  ( file_exists ( $aimUrl ) &&  $overWrite  = false) {            return  false;         }  elseif  ( file_exists ( $aimUrl ) &&  $overWrite  = true) {           FileUtil::unlinkFile( $aimUrl );         }          $aimDir  = dirname( $aimUrl );         FileUtil::createDir( $aimDir );         rename( $fileUrl ,  $aimUrl );          return  true;  }  /**       * 删除文件夹       *       * @param string $aimDir       * @return boolean       */   function  unlinkDir( $aimDir ) {          $aimDir  =  str_replace ( '' ,  '/' ,  $aimDir );          $aimDir  =  substr ( $aimDir , -1) ==  '/'  ?  $aimDir  :  $aimDir . '/' ;          if  (! is_dir ( $aimDir )) {            return  false;         }          $dirHandle  = opendir( $aimDir );          while (false !== ( $file  = readdir( $dirHandle ))) {            if  ( $file  ==  '.'  ||  $file  ==  '..' ) {               continue ;           }            if  (! is_dir ( $aimDir . $file )) {              FileUtil::unlinkFile( $aimDir  .  $file );           }  else  {              FileUtil::unlinkDir( $aimDir  .  $file );           }         }          closedir ( $dirHandle );          return   rmdir ( $aimDir );  }  /**       * 删除文件       *       * @param string $aimUrl       * @return boolean       */   function  unlinkFile( $aimUrl ) {          if  ( file_exists ( $aimUrl )) {           unlink( $aimUrl );            return  true;         }  else  {            return  false;         }  }  /**       * 复制文件夹       *       * @param string $oldDir       * @param string $aimDir       * @param boolean $overWrite 该参数控制是否覆盖原文件       * @return boolean       */   function  copyDir( $oldDir ,  $aimDir ,  $overWrite  = false) {          $aimDir  =  str_replace ( '' ,  '/' ,  $aimDir );          $aimDir  =  substr ( $aimDir , -1) ==  '/'  ?  $aimDir  :  $aimDir . '/' ;          $oldDir  =  str_replace ( '' ,  '/' ,  $oldDir );          $oldDir  =  substr ( $oldDir , -1) ==  '/'  ?  $oldDir  :  $oldDir . '/' ;          if  (! is_dir ( $oldDir )) {            return  false;         }          if  (! file_exists ( $aimDir )) {           FileUtil::createDir( $aimDir );         }          $dirHandle  = opendir( $oldDir );          while (false !== ( $file  = readdir( $dirHandle ))) {            if  ( $file  ==  '.'  ||  $file  ==  '..' ) {               continue ;           }            if  (! is_dir ( $oldDir  .  $file )) {              FileUtil::copyFile( $oldDir  .  $file ,  $aimDir  .  $file ,  $overWrite );           }  else  {              FileUtil::copyDir( $oldDir  .  $file ,  $aimDir  .  $file ,  $overWrite );           }         }          return   closedir ( $dirHandle );  }  /**       * 复制文件       *       * @param string $fileUrl       * @param string $aimUrl       * @param boolean $overWrite 该参数控制是否覆盖原文件       * @return boolean       */   function  copyFile( $fileUrl ,  $aimUrl ,  $overWrite  = false) {          if  (! file_exists ( $fileUrl )) {            return  false;         }          if  ( file_exists ( $aimUrl ) &&  $overWrite  == false) {            return  false;         }  elseif  ( file_exists ( $aimUrl ) &&  $overWrite  == true) {           FileUtil::unlinkFile( $aimUrl );         }          $aimDir  = dirname( $aimUrl );         FileUtil::createDir( $aimDir );          copy ( $fileUrl ,  $aimUrl );          return  true;  }  }  ?> 

查看更多关于PHP文件操作类(文件和文件夹创建,复制,移动的详细内容...

  阅读:46次