最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > 建站教程 > php教程 >

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

时间:2014-06-09 16:40来源: 作者: 点击: 次
本文章给大家分享的文件操作类包括对文件和文件夹创建,复制,移动和删除,有需要对文件操作学习的同学可进入参考参考。 实例代码如下: ?php /** *操纵文件类 * *例子: *FileUtil::createDir(a/1/2/3

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

实例代码如下:

  1. <?php 
  2. /** 
  3. * 操纵文件类 
  4. *  
  5. * 例子: 
  6. * FileUtil::createDir('a/1/2/3');                    测试建立文件夹 建一个a/1/2/3文件夹 
  7. * FileUtil::createFile('b/1/2/3');                    测试建立文件        在b/1/2/文件夹下面建一个3文件 
  8. * FileUtil::createFile('b/1/2/3.exe');             测试建立文件        在b/1/2/文件夹下面建一个3.exe文件 
  9. * FileUtil::copyDir('b','d/e');                    测试复制文件夹 建立一个d/e文件夹,把b文件夹下的内容复制进去 
  10. * FileUtil::copyFile('b/1/2/3.exe','b/b/3.exe'); 测试复制文件        建立一个b/b文件夹,并把b/1/2文件夹中的3.exe文件复制进去 
  11. * FileUtil::moveDir('a/','b/c');                    测试移动文件夹 建立一个b/c文件夹,并把a文件夹下的内容移动进去,并删除a文件夹 
  12. * FileUtil::moveFile('b/1/2/3.exe','b/d/3.exe'); 测试移动文件        建立一个b/d文件夹,并把b/1/2中的3.exe移动进去                    
  13. * FileUtil::unlinkFile('b/d/3.exe');             测试删除文件        删除b/d/3.exe文件 
  14. * FileUtil::unlinkDir('d');                      测试删除文件夹 删除d文件夹 
  15. */ 
  16. class FileUtil { 
  17. /** 
  18.     * 建立文件夹 
  19.     * 
  20.     * @param string $aimUrl 
  21.     * @return viod 
  22.     */ 
  23. function createDir($aimUrl) { 
  24.        $aimUrl = str_replace('', '/', $aimUrl); 
  25.        $aimDir = ''; 
  26.        $arr = explode('/', $aimUrl); 
  27.        foreach ($arr as $str) { 
  28.          $aimDir .= $str . '/'; 
  29.          if (!file_exists($aimDir)) { 
  30.             mkdir($aimDir); 
  31.          } 
  32.        } 
  33. } 
  34. /** 
  35.     * 建立文件 
  36.     * 
  37.     * @param string $aimUrl  
  38.     * @param boolean $overWrite 该参数控制是否覆盖原文件 
  39.     * @return boolean 
  40.     */ 
  41. function createFile($aimUrl, $overWrite = false) { 
  42.        if (file_exists($aimUrl) && $overWrite == false) { 
  43.          return false; 
  44.        } elseif (file_exists($aimUrl) && $overWrite == true) { 
  45.          FileUtil::unlinkFile($aimUrl); 
  46.        } 
  47.        $aimDir = dirname($aimUrl); 
  48.        FileUtil::createDir($aimDir); 
  49.        touch($aimUrl); 
  50.        return true; 
  51. } 
  52. /** 
  53.     * 移动文件夹 
  54.     * 
  55.     * @param string $oldDir 
  56.     * @param string $aimDir 
  57.     * @param boolean $overWrite 该参数控制是否覆盖原文件 
  58.     * @return boolean 
  59.     */ 
  60. function moveDir($oldDir, $aimDir, $overWrite = false) { 
  61.        $aimDir = str_replace('', '/', $aimDir); 
  62.        $aimDir = substr($aimDir, -1) == '/' ? $aimDir : $aimDir . '/'; 
  63.        $oldDir = str_replace('', '/', $oldDir); 
  64.        $oldDir = substr($oldDir, -1) == '/' ? $oldDir : $oldDir . '/'; 
  65.        if (!is_dir($oldDir)) { 
  66.          return false; 
  67.        } 
  68.        if (!file_exists($aimDir)) { 
  69.          FileUtil::createDir($aimDir); 
  70.        } 
  71.        @$dirHandle = opendir($oldDir); 
  72.        if (!$dirHandle) { 
  73.          return false; 
  74.        } 
  75.        while(false !== ($file = readdir($dirHandle))) { 
  76.          if ($file == '.' || $file == '..') { 
  77.             continue; 
  78.          } 
  79.          if (!is_dir($oldDir.$file)) { 
  80.             FileUtil::moveFile($oldDir . $file, $aimDir . $file, $overWrite); 
  81.          } else { 
  82.             FileUtil::moveDir($oldDir . $file, $aimDir . $file, $overWrite); 
  83.          } 
  84.        } 
  85.        closedir($dirHandle); 
  86.        return rmdir($oldDir); 
  87. } 
  88. /** 
  89.     * 移动文件 
  90.     * 
  91.     * @param string $fileUrl 
  92.     * @param string $aimUrl 
  93.     * @param boolean $overWrite 该参数控制是否覆盖原文件 
  94.     * @return boolean 
  95.     */ 
  96. function moveFile($fileUrl, $aimUrl, $overWrite = false) { 
  97.        if (!file_exists($fileUrl)) { 
  98.          return false; 
  99.        } 
  100.        if (file_exists($aimUrl) && $overWrite = false) { 
  101.          return false; 
  102.        } elseif (file_exists($aimUrl) && $overWrite = true) { 
  103.          FileUtil::unlinkFile($aimUrl); 
  104.        } 
  105.        $aimDir = dirname($aimUrl); 
  106.        FileUtil::createDir($aimDir); 
  107.        rename($fileUrl, $aimUrl); 
  108.        return true; 
  109. } 
  110. /** 
  111.     * 删除文件夹 
  112.     * 
  113.     * @param string $aimDir 
  114.     * @return boolean 
  115.     */ 
  116. function unlinkDir($aimDir) { 
  117.        $aimDir = str_replace('', '/', $aimDir); 
  118.        $aimDir = substr($aimDir, -1) == '/' ? $aimDir : $aimDir.'/'; 
  119.        if (!is_dir($aimDir)) { 
  120.          return false; 
  121.        } 
  122.        $dirHandle = opendir($aimDir); 
  123.        while(false !== ($file = readdir($dirHandle))) { 
  124.          if ($file == '.' || $file == '..') { 
  125.             continue; 
  126.          } 
  127.          if (!is_dir($aimDir.$file)) { 
  128.             FileUtil::unlinkFile($aimDir . $file); 
  129.          } else { 
  130.             FileUtil::unlinkDir($aimDir . $file); 
  131.          } 
  132.        } 
  133.        closedir($dirHandle); 
  134.        return rmdir($aimDir); 
  135. } 
  136. /** 
  137.     * 删除文件 
  138.     * 
  139.     * @param string $aimUrl 
  140.     * @return boolean 
  141.     */ 
  142. function unlinkFile($aimUrl) { 
  143.        if (file_exists($aimUrl)) { 
  144.          unlink($aimUrl); 
  145.          return true; 
  146.        } else { 
  147.          return false; 
  148.        } 
  149. } 
  150. /** 
  151.     * 复制文件夹 
  152.     * 
  153.     * @param string $oldDir 
  154.     * @param string $aimDir 
  155.     * @param boolean $overWrite 该参数控制是否覆盖原文件 
  156.     * @return boolean 
  157.     */ 
  158. function copyDir($oldDir, $aimDir, $overWrite = false) { 
  159.        $aimDir = str_replace('', '/', $aimDir); 
  160.        $aimDir = substr($aimDir, -1) == '/' ? $aimDir : $aimDir.'/'; 
  161.        $oldDir = str_replace('', '/', $oldDir); 
  162.        $oldDir = substr($oldDir, -1) == '/' ? $oldDir : $oldDir.'/'; 
  163.        if (!is_dir($oldDir)) { 
  164.          return false; 
  165.        } 
  166.        if (!file_exists($aimDir)) { 
  167.          FileUtil::createDir($aimDir); 
  168.        } 
  169.        $dirHandle = opendir($oldDir); 
  170.        while(false !== ($file = readdir($dirHandle))) { 
  171.          if ($file == '.' || $file == '..') { 
  172.             continue; 
  173.          } 
  174.          if (!is_dir($oldDir . $file)) { 
  175.             FileUtil::copyFile($oldDir . $file, $aimDir . $file, $overWrite); 
  176.          } else { 
  177.             FileUtil::copyDir($oldDir . $file, $aimDir . $file, $overWrite); 
  178.          } 
  179.        } 
  180.        return closedir($dirHandle); 
  181. } 
  182. /** 
  183.     * 复制文件 
  184.     * 
  185.     * @param string $fileUrl 
  186.     * @param string $aimUrl 
  187.     * @param boolean $overWrite 该参数控制是否覆盖原文件 
  188.     * @return boolean 
  189.     */ 
  190. function copyFile($fileUrl, $aimUrl, $overWrite = false) { 
  191.        if (!file_exists($fileUrl)) { 
  192.          return false; 
  193.        } 
  194.        if (file_exists($aimUrl) && $overWrite == false) { 
  195.          return false; 
  196.        } elseif (file_exists($aimUrl) && $overWrite == true) { 
  197.          FileUtil::unlinkFile($aimUrl); 
  198.        } 
  199.        $aimDir = dirname($aimUrl); 
  200.        FileUtil::createDir($aimDir); 
  201.        copy($fileUrl, $aimUrl); 
  202.        return true; 
  203. } 
  204. } 
  205. ?> 
(责任编辑:admin)
------分隔线----------------------------
栏目列表
推荐内容