微笑de迪妮莎
2015-02-25 13:34
<?php /***************** * fileOnLineManager.class.php * 文件在线管理类 * *****************/ class FileOnLineManager{ private $path;//指定管理的目录 public function __construct($var_path){ $this->path=$var_path; } /* * @function 获得文件及目录列表 * @param string $path 指定目录 * @return array */ public function getFileAndDirectory($path){ $resource=opendir($path); $arr=array(); while(($item=readdir($resource))!==false){ if($item!="." && $item!=".."){ if(is_dir($path."/".$item)){ //$arr["dir"][]=$item; $var_dir_pathname=$path."/".$item; $row["name"]=$item; $row["type"]=$this->getFileType($var_dir_pathname); $row["size"]=$this->getDirectorySize($var_dir_pathname); $row["is_readable"]=$this->getFileReadable($var_dir_pathname); $row["is_writeable"]=$this->getFileWriteable($var_dir_pathname); $row["is_executable"]=$this->getFileExecutable($var_dir_pathname); $row["ct"]=$this->getFileCtTime($var_dir_pathname); $row["mt"]=$this->getFileMtTime($var_dir_pathname); $row["at"]=$this->getFileATime($var_dir_pathname); $arr[]=$row; } if(is_file($path."/".$item)){ //$arr["file"][]=$item; $var_file_pathname=$path."/".$item; $row["name"]=$item; $row["type"]=$this->getFileType($var_file_pathname); $row["size"]=$this->getFileSize($var_file_pathname); $row["is_readable"]=$this->getFileReadable($var_file_pathname); $row["is_writeable"]=$this->getFileWriteable($var_file_pathname); $row["is_executable"]=$this->getFileExecutable($var_file_pathname); $row["ct"]=$this->getFileCtTime($var_file_pathname); $row["mt"]=$this->getFileMtTime($var_file_pathname); $row["at"]=$this->getFileATime($var_file_pathname); $arr[]=$row; } } } closedir($resource); return $arr; } /* * @function 获取文件类型 */ public function getFileType($var_file_pathname){ return filetype($var_file_pathname); } /* * @function 获得文件大小 * @param string $var_file_pathname 文件的完整路径名 * @return string */ public function getFileSize($var_file_pathname){ $size=filesize($var_file_pathname); return $this->transSize($size); } /* * @function 转换文件大小单位 * @param int $var_size * @return string */ public function transSize($var_size){ $size=$var_size; $row=array("byte","KB","MB","GB","TB"); $i=0; while($size>=1024){ $size=$size/1024; $i++; } $result=round($size,2).$row[$i]; return $result; } /* * @function 获得文件是否可读 * @param string $var_file_pathname * @return boolean 返回true表示可读,false表示不可读 */ public function getFileReadable($var_file_pathname){ if(is_readable($var_file_pathname)){ return true; } else{ return false; } } /* * @function 获得文件是否可写 * @param string $var_file_pathname * @return boolean 返回true表示可写,false表示不可写 */ public function getFileWriteable($var_file_pathname){ if(is_writeable($var_file_pathname)){ return true; } else{ return false; } } /* * @function 获得文件是否可执行 * @param string $var_file_pathname * @return boolean 返回true表示可执行,false表示不可执行 */ public function getFileExecutable($var_file_pathname){ if(is_executable($var_file_pathname)){ return true; } else{ return false; } } /* * @function 获得文件inode的修改时间 * @param string $var_file_pathname * @return int|false 返回int时间戳,返回false表示获取失败 */ public function getFileCtTime($var_file_pathname){ return filectime($var_file_pathname); } /* * @function 获得文件修改时间 * @param string $var_file_pathname * @return int|false 返回int时间戳,返回false表示获取失败 */ public function getFileMtTime($var_file_pathname){ return filemtime($var_file_pathname); } /* * @function 获得文件的访问时间 * @param string $var_file_pathname * @return int|false 返回int时间戳,返回false表示获取失败 */ public function getFileATime($var_file_pathname){ return fileatime($var_file_pathname); } /* * @function 获取目录大小 * @param string $var_dir_pathname * @return string */ public function getDirectorySize($var_dir_pathname){ $sum=0; global $sum; $handler=opendir($var_dir_pathname); while(($item=readdir($handler))!==false){ if($item!="." && $item!=".."){ if(is_dir($var_dir_pathname."/".$item)){ $this->getDirectroySize($var_dir_pathname."/".$item); } if(is_file($var_dir_pathname."/".$item)){ $sum+=filesize($var_dir_pathname."/".$item); } } } closedir($handler); return $this->transSize($sum); } } $path="./file"; $fileOnLineManager=new FileOnLineManager($path); $result=$fileOnLineManager->getFileAndDirectory($path); print_r($result); ?>
像一些二次开发系统中就很常见,可以通过web的形式修改源代码,管理项目中的文件
^-^...
WEB在线文件管理器
36223 学习 · 332 问题
相似问题