操纵文件类 FileUtil
`<?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 {
private static files = array(); private static $dirs = array();
public function __construct(path="/") { try { if (is_dir(path)) { self::path, array('\' => '/')); } } catch (\Exception e) { echo e->getMessage(); } } /**
- 建立文件夹
- @param string $aimUrl
- @return viod / public function createDir(aimUrl) { aimUrl = str_replace('', '/', aimDir = ''; aimUrl); arr as str) { aimDir .= aimDir)) { aimDir,0777,true); } } return $result; } /*
- 建立文件
- @param string $aimUrl
- @param boolean $overWrite 该参数控制是否覆盖原文件
- @return boolean / public function createFile(overWrite = false) { if (file_exists(aimUrl) && overWrite == false) { return false; } elseif (file_exists(aimUrl) && overWrite == true) { FileUtil :: unlinkFile(aimUrl); } aimDir = dirname(aimDir); touch($aimUrl); return true; } /*
- 移动文件夹
- @param string $oldDir
- @param string $aimDir
- @param boolean $overWrite 该参数控制是否覆盖原文件
- @return boolean / public function moveDir(aimDir, overWrite = false) { aimDir = str_replace('', '/', aimDir = substr(aimDir : oldDir = str_replace('', '/', oldDir = substr(oldDir : oldDir)) { return false; } if (!file_exists(aimDir)) { FileUtil :: createDir(aimDir); } @ oldDir); if (!file = readdir(dirHandle))) { if (file == '.' || oldDir . file)) { FileUtil :: moveFile(oldDir . aimDir . overWrite); } else { FileUtil :: moveDir(file, file, overWrite); } } closedir(dirHandle); return rmdir($oldDir); } /*
- 移动文件
- @param string $fileUrl
- @param string $aimUrl
- @param boolean $overWrite 该参数控制是否覆盖原文件
- @return boolean / public function moveFile(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(aimDir); rename(aimUrl); return true; } /*
- 删除文件夹
- @param string $aimDir
- @return boolean / public function unlinkDir(aimDir) { aimDir = str_replace('', '/', aimDir = substr(aimDir : aimDir)) { return false; } aimDir); while (false !== (dirHandle))) { if (file == '..') { continue; } if (!is_dir(file)) { FileUtil :: unlinkFile(file); } else { FileUtil :: unlinkDir(file); } } closedir(aimDir); } /*
- 删除文件
- @param string $aimUrl
- @return boolean / public 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(aimDir, overWrite = false) { aimDir = str_replace('', '/', aimDir = substr(aimDir : oldDir = str_replace('', '/', oldDir = substr(oldDir : oldDir)) { return false; } if (!file_exists(aimDir)) { FileUtil :: createDir(aimDir); } oldDir); while (false !== (dirHandle))) { if (file == '..') { continue; } if (!is_dir(file)) { FileUtil :: copyFile(file, file, overWrite); } else { FileUtil :: copyDir(oldDir . aimDir . overWrite); } } return closedir($dirHandle); } /*
- 复制文件
- @param string $fileUrl
- @param string $aimUrl
- @param boolean $overWrite 该参数控制是否覆盖原文件
- @return boolean */ public function copyFile(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(aimDir); copy(aimUrl); return true; } } ?> `