<?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=/"圖檔/" 0/">";
}
//PDF檔案
if (eregi(".pdf",$file))
{
$icon = "<IMG SRC="$path/PDFXP.ico" mce_SRC="$path/PDFXP.ico" alt=/"PDF檔案/" 0/">";
}
//文本檔案
elseif (eregi(".txt",$file))
{
$icon = "<IMG SRC="$path/TEXT.GIF" mce_SRC="$path/TEXT.GIF" alt=/"文本檔案/" 0/">";
}
//音頻檔案
elseif (eregi(".wav|.mp2|.mp3|.mp4|.vqf|.midi|.wmv",$file))
{
$icon = "<IMG SRC="$path/WMPDOCUMENT.ico" mce_SRC="$path/WMPDOCUMENT.ico" alt=/"Audio/" 0/">";
}
//PPT檔案
elseif (eregi(".ppt",$file))
{
$icon = "<IMG SRC="$path/PPT.ico" mce_SRC="$path/PPT.ico" alt=/"PPT/" 0/">";
}
//壓縮檔案
elseif (eregi(".rar|.tar.gz|.7z",$file))
{
$icon = "<IMG SRC="$path/RARICON.ico" mce_SRC="$path/RARICON.ico" alt=/"RAR/" 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/" 0/">";
}
//Apache Web伺服器安全設定
elseif (eregi(".htaccess",$file))
{
$icon = "<IMG SRC="$path/security.gif" mce_SRC="$path/security.gif" alt=/"Apache Webserver security settings/" 0/">" ;
}
//Web頁面檔案
elseif (eregi(".html|.htm",$file))
{
$icon = "<IMG SRC="$path/WEBPAGE.GIF" mce_SRC="$path/WEBPAGE.GIF" alt=/"網頁檔案/" 0/">";
}
//不确定格式檔案
else
{
$icon = "<IMG SRC="$path/DEFAULT.ico" mce_SRC="$path/DEFAULT.ico" alt=/"未知檔案類型/" 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>
";
}
}
}
}
?>