php中文目录操作类
发布:smiling 来源: PHP粉丝网 添加日期:2014-08-02 10:50:09 浏览: 评论:0
下面这个文件操作类可以建立目录,删除目录,删除文件等一系列你能操作操作的功能,代码如下:
- <?
 - /**
 - * 操纵文件类
 - *
 - * 例子:
 - * 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;
 - }
 - }
 - ?>
 
Tags: php中文 目录操作类
- 上一篇:PHPExcel用法详细的介绍
 - 下一篇:php树型菜单类
 
相关文章
- ·分享一段PHP制作的中文拼音首字母工具类(2021-05-03)
 - ·php封装好的人民币数值转中文大写类(2021-06-30)
 - ·支持汉转拼和拼音分词的PHP中文工具类ChineseUtil(2021-09-03)
 
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
 - PHP新手上路(一)(7)
 - 惹恼程序员的十件事(5)
 - PHP邮件发送例子,已测试成功(5)
 - 致初学者:PHP比ASP优秀的七个理由(4)
 - PHP会被淘汰吗?(4)
 - PHP新手上路(四)(4)
 - 如何去学习PHP?(2)
 - 简单入门级php分页代码(2)
 - php中邮箱email 电话等格式的验证(2)
 
