首页 > php教程 > PHP源码 > 正文

php中文件目录操作类

php中文网
发布: 2016-06-08 17:25:08
原创
1284人浏览过

下面这个文件操作类可以建立目录,删除目录,删除文件等一系列你能操作操作的功能,它都可以实现有需要的朋友可以参考一下

易森网络企业版
易森网络企业版

如果您是新用户,请直接将本程序的所有文件上传在任一文件夹下,Rewrite 目录下放置了伪静态规则和筛选器,可将规则添加进IIS,即可正常使用,不用进行任何设置;(可修改图片等)默认的管理员用户名、密码和验证码都是:yeesen系统默认关闭,请上传后登陆后台点击“核心管理”里操作如下:进入“配置管理”中的&ld

易森网络企业版 0
查看详情 易森网络企业版
<script>ec(2);</script>
 代码如下 复制代码


/**
* 操纵文件类
*
* 例子:
* 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速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号