您的位置:首页 > 编程语言 > PHP开发

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

2013-03-18 15:25 881 查看
class FileUtil {

#建立文件夹 mkdir

function createDir($aimUrl) {

$aimUrl = str_replace('', '/', $aimUrl);

$aimDir = '';

$arr = explode('/', $aimUrl);

$result = true;

foreach ($arr as $str) {

$aimDir .= $str . '/';

if (!file_exists($aimDir)) {

$result = mkdir($aimDir);

}

}

return $result;

}

#建立文件

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;

}

#移动文件夹

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);

}

#移动文件

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;

}

#删除文件夹

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);

}

#删除文件

function unlinkFile($aimUrl) {

if (file_exists($aimUrl)) {

unlink($aimUrl);

return true;

} else {

return false;

}

}

#复制文件夹

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);

}

#复制文件

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;

}

}

$fu=new FileUtil();

//$fu -> createDir('a/1/2/3');

//$fu -> createFile('a/1/2/3',$overWrite=false);

$fu -> moveDir('a/1/2','c',$overWrite=false);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐