<?php class FileFun { //遍历文件夹,返回文件列表 function display_filelist($directory) { $handle=opendir($directory); $dirlist=array(); $filelist=array(); while ($file = readdir($handle)) { if($file<>"." and $file<>"..") { if(is_dir($file)) { $dirlist[] = $file; } else { $filelist[] = $directory.DIRECTORY_SEPARATOR.$file; } } } closedir($handle); return $filelist; } //去除多余的路径,只返回文件名 function display_filename($filename) { $i=strrpos($filename,DIRECTORY_SEPARATOR); $tmp=substr($filename,$i+1); return $tmp; } //编码转换 function display_fileencoding($filename) { if(extension_loaded("mbsting")) { $code=mb_detect_encoding($filename);//检测字符串编码 $filename=mb_convert_encoding($filename,"UTF-8",$code);//将编码$code转换为utf-8编码 return $filename; } else die("请检查系统是否正确安装配置mbstring"); } //获取文件权限属性 function display_file($filename) { return $dirperm=substr(base_convert(fileperms($filename),10,8),-4); } //计算文件大小 function display_size($file) { $file_size = filesize($file); if($file_size >= 1073741824) { $file_size = round($file_size / 1073741824 * 100) / 100 . "Gb"; } elseif($file_size >= 1048576) { $file_size = round($file_size / 1048576 * 100) / 100 . "Mb"; } elseif($file_size >= 1024) { $file_size = round($file_size / 1024 * 100) / 100 . "Kb"; } else{ $file_size = $file_size . "B"; } return $file_size; } //获取创建的时间 function display_ctime($file) { date_default_timezone_set("PRC");//设置默认时区为中国时区 $changeddate = date("Y-m-d H:i:s",filectime($file)); return $changeddate; } //最后修改时间 function display_mtime($filename) { date_default_timezone_set("PRC");//设置默认时区为中国时区 return $mtime=date("Y-m-d H:i:s",filemtime($filename)); return $mtime; } //最近访问时间 function display_mtime($filename) { date_default_timezone_set("PRC");//设置默认时区为中国时区 return $mtime=date("Y-m-d H:i:s",fileatime($filename)); return $mtime; } //检查文件格式并显示相应的图表和属性 function display_filetype($file) { $path="./images"; //检查文件格式并显示相应的图表和属性 //图片文件 if (eregi(".bmp|.jpg|.jpeg",$file)) { $icon = "<IMG SRC="$path/image.gif" mce_SRC="$path/image.gif" alt=/"图片/" border=/"0/">"; } //PDF文件 if (eregi(".pdf",$file)) { $icon = "<IMG SRC="$path/PDFXP.ico" mce_SRC="$path/PDFXP.ico" alt=/"PDF文件/" border=/"0/">"; } //文本文件 elseif (eregi(".txt",$file)) { $icon = "<IMG SRC="$path/TEXT.GIF" mce_SRC="$path/TEXT.GIF" alt=/"文本文件/" border=/"0/">"; } //音频文件 elseif (eregi(".wav|.mp2|.mp3|.mp4|.vqf|.midi|.wmv",$file)) { $icon = "<IMG SRC="$path/WMPDOCUMENT.ico" mce_SRC="$path/WMPDOCUMENT.ico" alt=/"Audio/" border=/"0/">"; } //PPT文件 elseif (eregi(".ppt",$file)) { $icon = "<IMG SRC="$path/PPT.ico" mce_SRC="$path/PPT.ico" alt=/"PPT/" border=/"0/">"; } //压缩文件 elseif (eregi(".rar|.tar.gz|.7z",$file)) { $icon = "<IMG SRC="$path/RARICON.ico" mce_SRC="$path/RARICON.ico" alt=/"RAR/" border=/"0/">"; } //Web服务器文件 elseif (eregi(".phps|.php|.php2|.php3|.php4|.asp|.asa|.cgi|.pl|.shtml",$file)) { $icon = "<IMG SRC="$path/PHP.ico" mce_SRC="$path/PHP.ico" alt=/"PHP/" border=/"0/">"; } //Apache Web服务器安全设置 elseif (eregi(".htaccess",$file)) { $icon = "<IMG SRC="$path/security.gif" mce_SRC="$path/security.gif" alt=/"Apache Webserver security settings/" border=/"0/">" ; } //Web页面文件 elseif (eregi(".html|.htm",$file)) { $icon = "<IMG SRC="$path/WEBPAGE.GIF" mce_SRC="$path/WEBPAGE.GIF" alt=/"网页文件/" border=/"0/">"; } //不确定格式文件 else { $icon = "<IMG SRC="$path/DEFAULT.ico" mce_SRC="$path/DEFAULT.ico" alt=/"未知文件类型/" border=/"0/">"; } return $icon; } //复制目录 function copydir($dirFrom,$dirTo) { $filecounter=0; $dircounter=0; if(is_file($dirTo))//收先要判断一下目标是不是文件夹 { die("无法创建目录 $dirTo"); } if(!file_exists($dirTo))//判断目标文件夹是否存在,不存在则创建 { mkdir($dirTo); $dircounter++; } $handle=@opendir($dirFrom); while(($file=readdir($handle))!==false) { if($file<>"." and $file<>"..")//这个不能少 { $fileFrom=$dirFrom.DIRECTORY_SEPARATOR.$file;//源文件夹 $fileTo=$dirTo.DIRECTORY_SEPARATOR.$file;//目标文件夹 if(is_dir($fileFrom)) { copydir($fileFrom,$fileTo);//是目录,继续遍历 } else { copy($fileFrom,$fileTo);//不是目录就拷贝 $filecounter++; } } } closedir($handle); } //删除目录 rmdir() function deleteDir($pathName) { $handle=@opendir($pathName); while(($file=readdir($handle))!==false) { if($file<>"." and $file<>"..") { $file=$pathName.DIRECTORY_SEPARATOR.$file;//一定要将删除的文件所在的目录指明,不然误删 if(is_dir($file)) { deleteDir($file); } else { if(unlink($file)) { echo "文件",$file."删除成功<br>"; } else { echo "文件",$file."删除失败<br>"; } } } } closedir($handle); //要在closedir()后删除,不然还在opendir使用着,删除肯定会出现问题的 if(rmdir($pathName)) { echo "目录<b>".$pathName."</b>删除成功<br>"; } else { echo "目录<b>".$pathName."</b>删除失败<br>"; } } //删除文件,并且备份删除的文件 function delFile($filename) { @copy("../personalmanager/upload/".$filename,"../personalmanager/backupdel/".$filename); @unlink("../personalmanager/upload/".$filename); } function fileUpload() {//myfile的值不具有灵活性,应该修改成在上传页面利用事件给一个hidden型的变量赋值,然后在这个里面获取这个值 $uploaddir="upload/"; for($i=0;$i<count($_FILES["myfile"]["name"]);$i++) { if($_FILES["myfile"]["size"][$i]>=40000) { echo $_FILES["myfile"]["name"][$i]."文件太大<br>"; continue; } /* if($_FILES["myfile"]["type"][$i]!="text/plain") { echo $_FILES["myfile"]["name"][$i]."文件不是文本类型<br>"; continue; } if($_FILES["myfile"]["error"][$i]!=0) { echo $_FILES["myfile"]["name"][$i]."文件不能上传<br>"; continue; } */ if(move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$uploaddir.$_FILES["myfile"]["name"][$i])) { echo "<mce:script language='javascript'><!-- alert('文件上传成功'); // --></mce:script> "; } } } } ?>