php实现WEB在线文件管理器
发布时间:2022-08-02 13:57:41 所属栏目:PHP教程 来源:互联网
导读:1、效果图 功能包括: 文件夹:创建文件夹、查看文件夹、复制文件夹、剪切文件夹、删除文件夹、重命名文件夹 文件:查看文件、创建文件、编辑文件、复制文件、剪切文件、删除文件、重命名文件、下载文件、上传文件 2、目录结构预览 3、目录操作函数 dir.func
|
1、效果图 功能包括: 文件夹:创建文件夹、查看文件夹、复制文件夹、剪切文件夹、删除文件夹、重命名文件夹 文件:查看文件、创建文件、编辑文件、复制文件、剪切文件、删除文件、重命名文件、下载文件、上传文件 2、目录结构预览 3、目录操作函数 dir.func.php 复制代码 <?php // 目录操作函数集合 //打开指定目录 /** * 遍历目录函数,只读取目录中的最外层的内容 * @param string $path * @return array */ function readDirectory($path) { $handle = opendir ( $path ); while ( ($item = readdir ( $handle )) !== false ) { //.和..这2个特殊目录 if ($item != "." && $item != "..") { if (is_file ( $path . "/" . $item )) { $arr ['file'] [] = $item; } if (is_dir ( $path . "/" . $item )) { $arr ['dir'] [] = $item; } } } closedir ( $handle ); return $arr; } //$path="file"; //print_r(readDirectory($path)); /** * 得到文件夹大小 * @param string $path * @return int */ function dirSize($path){ $sum=0; global $sum; $handle=opendir($path); while(($item=readdir($handle))!==false){ if($item!="."&&$item!=".."){ if(is_file($path."/".$item)){ $sum+=filesize($path."/".$item); } if(is_dir($path."/".$item)){ $func=__FUNCTION__; $func($path."/".$item); } } } closedir($handle); return $sum; } //$path="file"; //echo dirSize($path); function createFolder($dirname){ //检测文件夹名称的合法性 if(checkFilename(basename($dirname))){ //当前目录下是否存在同名文件夹名称 if(!file_exists($dirname)){ if(mkdir($dirname,0777,true)){ $mes="文件夹创建成功"; }else{ $mes="文件夹创建失败"; } }else{ $mes="存在相同文件夹名称"; } }else{ $mes="非法文件夹名称"; } return $mes; } /** * 重命名文件夹 * @param string $oldname * @param string $newname * @return string */ function renameFolder($oldname,$newname){ //检测文件夹名称的合法性 if(checkFilename(basename($newname))){ //检测当前目录下是否存在同名文件夹名称 if(!file_exists($newname)){ if(rename($oldname,$newname)){ $mes="重命名成功"; }else{ $mes="重命名失败"; } }else{ $mes="存在同名文件夹"; } }else{ $mes="非法文件夹名称"; } return $mes; } function copyFolder($src,$dst){ //echo $src,"---",$dst."----"; if(!file_exists($dst)){ mkdir($dst,0777,true); } $handle=opendir($src); while(($item=readdir($handle))!==false){ if($item!="."&&$item!=".."){ if(is_file($src."/".$item)){ copy($src."/".$item,$dst."/".$item); } if(is_dir($src."/".$item)){ $func=__FUNCTION__; $func($src."/".$item,$dst."/".$item); } } } closedir($handle); return "复制成功"; } /** * 剪切文件夹 * @param string $src * @param string $dst * @return string */ function cutFolder($src,$dst){ //echo $src,"--",$dst; if(file_exists($dst)){ if(is_dir($dst)){ if(!file_exists($dst."/".basename($src))){ if(rename($src,$dst."/".basename($src))){ $mes="剪切成功"; }else{ $mes="剪切失败"; } }else{ $mes="存在同名文件夹"; } }else{ $mes="不是一个文件夹"; } }else{ $mes="目标文件夹不存在"; } return $mes; } /** * 删除文件夹 * @param string $path * @return string */ function delFolder($path){ $handle=opendir($path); while(($item=readdir($handle))!==false){ if($item!="."&&$item!=".."){ if(is_file($path."/".$item)){ unlink($path."/".$item); } if(is_dir($path."/".$item)){ $func=__FUNCTION__; $func($path."/".$item); } } } closedir($handle); rmdir($path); return "文件夹删除成功"; } 复制代码 4、文件操作函数 file.func.php 复制代码 <?php // 文件操作函数集合 //Bytes/Kb/MB/GB/TB/EB /** * 转换字节大小 * @param number $size * @return number */ function transByte($size) { $arr = array ("B", "KB", "MB", "GB", "TB", "EB" ); $i = 0; while ( $size >= 1024 ) { $size /= 1024; $i ++; } return round ( $size, 2 ) . $arr [$i]; } /** * 创建文件 * @param string $filename * @return string */ function createFile($filename) { //file/1.txt //验证文件名的合法性,是否包含/,*,<>,?,| $pattern = "/[/,*,<>,?|]/"; if (! preg_match ( $pattern, basename ( $filename ) )) { //检测当前目录下是否存在同名文件 if (! file_exists ( $filename )) { //通过touch($filename)来创建 if (touch ( $filename )) { return "文件创建成功"; } else { return "文件创建失败"; } } else { return "文件已存在,请重命名后创建"; } } else { return "非法文件名"; } } /** * 重命名文件 * @param string $oldname * @param string $newname * @return string */ function renameFile($oldname,$newname){ // echo $oldname,$newname; //验证文件名是否合法 if(checkFilename($newname)){ //检测当前目录下是否存在同名文件 $path=dirname($oldname); if(!file_exists($path."/".$newname)){ //进行重命名 if(rename($oldname,$path."/".$newname)){ return "重命名成功"; }else{ return "重命名失败"; } }else{ return "存在同名文件,请重新命名"; } }else{ return "非法文件名"; } } /** *检测文件名是否合法 * @param string $filename * @return boolean */ function checkFilename($filename){ $pattern = "/[/,*,<>,?|]/"; if (preg_match ( $pattern, $filename )) { return false; }else{ return true; } } /** * 删除文件 * @param string $filename * @return string */ function delFile($filename){ if(unlink($filename)){ $mes="文件删除成功"; }else{ $mes="文件删除失败"; } return $mes; } /** * 下载文件操作 * @param string $filename */ function downFile($filename){ header("content-disposition:attachment;filename=".basename($filename)); header("content-length:".filesize($filename)); readfile($filename); } /** * 复制文件 * @param string $filename * @param string $dstname * @return string */ function copyFile($filename,$dstname){ if(file_exists($dstname)){ if(!file_exists($dstname."/".basename($filename))){ if(copy($filename,$dstname."/".basename($filename))){ $mes="文件复制成功"; }else{ $mes="文件复制失败"; } }else{ $mes="存在同名文件"; } }else{ $mes="目标目录不存在"; } return $mes; } function cutFile($filename,$dstname){ if(file_exists($dstname)){ if(!file_exists($dstname."/".basename($filename))){ if(rename($filename,$dstname."/".basename($filename))){ $mes="文件剪切成功"; }else{ $mes="文件剪切失败"; } }else{ $mes="存在同名文件"; } }else{ $mes="目标目录不存在"; } return $mes; } (编辑:承德站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
