收藏文章 楼主
PHP源代码集锦
网友【血蜘蛛】 2005-06-21 04:01:55 分享在【时代发展的印记】版块    1    1
代码:/********************************************
* *
* Name : File System Object *
* Author : Windy_sk *
* Time : 2003-09-12 *
* Email : [email protected] *
* HomePage: None (Maybe Soon) *
* Notice : U Can Use & Modify it freely, *
* BUT PLEASE HOLD THIS ITEM. *
* *
********************************************/

class FileSystemObject {
var $main_dir = "./";
Var $dir_map = "";
var $search = array();

function FileSystemObject($main_dir = "./") {
$this->main_dir = $main_dir;
return;
}

function Get_Attrib($file_att){
if(strlen($file_att)!=3) return "Error";
$att_list = array("---", "--x", "-w-", "-wx", "r--", "r-x", "rw-", "rwx");
$the_attrib = "";
for($i=0; $i<3; $i++) {
$this_char=(int)substr($file_att,$i,1);
if($this_char > 7 || $this_char < 0) return "Error";
$the_attrib .= $att_list[$this_char];
}
return $the_attrib;
}

function Get_Size($file_size) {
if($file_size < 1024){
$file_size = (string)$file_size . " Bytes";
}else if($file_size < (1024 * 1024)){
$file_size = number_format((double)($file_size / 1024), 1) . " KB";
}else if($fil_esize < (1024 * 1024 * 1024)){
$file_size = number_format((double)($file_size / (1024 * 1024)), 1) . " MB";
}else{
$file_size = number_format((double)($file_size / (1024 * 1024 * 1024)), 1) . " GB";
}
return $file_size;
}

function Judge_Child($dir = "", $only_dir = true){
if(empty($dir)) $dir = $this->main_dir;
$mydir = @dir($dir);
if(!$mydir) return false;
while($file = $mydir->read()){
if($file!="." && $file!=".."){
if($only_dir) {
if(is_dir($dir."/".$file)) return true;
} else {
return true;
}
}
}
$mydir->close();
return false;
}

function MultiDel($dir){
if(empty($dir)) return;
if(is_dir($dir)){
$mydir = opendir($dir);
while($file = readdir($mydir)) {
if($file!="." && $file!="..") {
$the_name = $dir."/".$file;
is_dir($the_name) ? $this->MultiDel($the_name) : unlink($the_name);
}
}
closedir($mydir);
rmdir($dir);
}else{
unlink($dir);
}
return;
}

function Make_Dir($dir) {
if(is_dir($dir)) {
print("Directory {$dir} already exist !");
} else {
@mkdir($dir,0777) or print("Operation Failed in Creating Directory {$dir} ,Please Check Your Power!");
}
return;
}

function Rename_File($file, $newname) {
if(file_exists($file)) {
if(file_exists($newname)) {
print("File {$newname} already exist !");
} else {
@rename($file, $newname) or print("Operation Failed in Renaming {$file} ,Please Check Your Power!");
}
} else {
print("Cannot Find File {$file} !");
}
return;
}

function Move_File($file, $dir) {
if(is_dir($dir))
$this->Rename_File($file, str_replace("//","/",$dir."/".basename($file)));
else
print("Cannot Find Directory {$dir} !");
return;
}

function Get_File($file) {
return is_file($file)?join("",file($file)):"";
}

function Write_File($file, $content) {
if(file_exists($file)) $this->Set_Attrib($file, 0777);
$fp=@fopen($file,"w");
if($fp) {
flock($fp,2);
fputs($fp,$content);
fclose($fp);
} else {
print("Cannot Create File {$file} !");
}
return;
}

function Set_Attrib($file, $attrib) {
if(file_exists($file)) {
@chmod($file, $attrib) or print("Operation Failed in Setting Attrib of {$file} , Please Check Your Power!");
} else {
print("Cannot Find File {$file} !");
}
return;
}

function Search_File($keyword, $inc_word, $deep, $dir) {
$mydir = @dir($dir);
if(!$mydir) return false;
while($file = $mydir->read()) {
$the_name = str_replace("//","/",$dir."/".$file);
if(is_dir($the_name)) {
if($deep && $file!="." && $file!=".."){
$this->Search_File($keyword, $inc_word, $deep, $the_name);
}
} else {
if(@strpos(basename($the_name), $keyword)!==false || empty($keyword)) {
if(!empty($inc_word)) {
if($this->Search_File_Content($the_name, $inc_word)) array_push($this->search, $the_name);
} else {
array_push($this->search, $the_name);
}
}
}
}
$mydir->close();
return;
}

function Search_File_Content($file, $inc_word) {
return (strpos($this->Get_File($file), $inc_word) !== false);
}

function Search($keyword="", $inc_word="", $deep=false, $dir="") {
if(empty($dir)) $dir = $this->main_dir;
$this->search = array();
$this->Search_File($keyword, $inc_word, $deep, $dir);
return $this->search;
}

function Get_Tree($dir = "", $filetype = ""){
if(empty($dir)) $dir = $this->main_dir;
$mydir = @dir($dir);
if(!$mydir) return false;
$file_list = array("dir" => array(), "file" => array(), "custom" => array());
while($file = @$mydir->read()){
if(!$file) continue;
if($file!="." && $file!=".."){
$string = str_replace("//","/",$dir."/".$file);
if(is_dir($string)){
$file_list["dir"][] = $string;
}else{
$file_list["file"][] = $string;
if(!empty($filetype)) {
$ext = str_replace(".", "", strrchr($string ,"."));
if(strpos($filetype, $ext)!==false)
$file_list["custom"][] = $string;
}
}
}
}
$mydir->close();
sort($file_list["dir"]);
sort($file_list["file"]);
sort($file_list["custom"]);
return $file_list;
}

function Make_DirMap($dir = "", $simple, $loop) {
if(empty($dir)) $dir = $this->main_dir;
if(!is_dir($dir)) return;
$file_list = $this->Get_Tree($dir);
for($i=0; $i$the_name = $file_list["dir"][$i];
$the_name = str_replace("&", "&", $the_name);
$this->dir_map .= "Get_Attrib(substr(DecOct(fileperms($the_name)),-3))."\" Time=\"".date("m/d/y H:i:s", filemtime($the_name))."\"")."> ";
if($loop) $this->Make_DirMap($the_name, $simple, $loop);
$this->dir_map .= "
";
}
for($i=0; $i$the_name = $file_list["file"][$i];
$the_name = str_replace("&", "&", $the_name);
$this->dir_map .= "Get_Size(filesize($the_name))."\" Attrib=\"".$this->Get_Attrib(substr(DecOct(fileperms($the_name)),-3))."\" Time=\"".date("m/d/y H:i:s", filemtime($the_name))."\"")." /> ";
}
unset($file_list);
return;
}

function Get_DirMap($declaration = false, $simple = false, $loop = true){
$this->dir_map = $declaration?" ":"";
$this->dir_map .= "main_dir}\" Data=\"".date("m/d/y H:i:s", time())."\"> ";
$this->Make_DirMap($this->main_dir, $simple, $loop);
$this->dir_map .= "
";
return $this->dir_map;
}
}
?>
meiguo.com 发布人签名/座右铭·有时你看似是一件很吃亏的事,往往会变成非常有得的事。
·凡事都留有余地,因为人是人,不是神,不免有错处,可以原谅人的地方,就原谅人。
·好的时候不要看得太好,坏的时候不要看的太坏。
大家都在看
回复/评论列表
默认   热门   正序   倒序
meiguo.com 创始人

emotion

1   2005-06-21 04:01:55  回复

回复/评论:PHP源代码集锦

暂无用户组 升级
退出
等级:0级
美果:
美过
精华推荐
  1. 美国房市降温?待售房屋开始下调要价!
  2. “极右翼”控制移民政策!特朗普政府的内阁名单曝光
  3. 回归之王:唐纳德·特朗普“赢得又大又快”
  4. 《黑神话:悟空》发行仅3小时后竟然就这样了!
  5. 宁愿混居美国,华人姑娘袒露了不愿回国的真相!
  6. 伊隆·马斯克在“We, Robot”三连发:Cybercab、Robovan及Optimus!
  7. 苹果公司在2024秋季的新品发布会(懒人速览)
  8. 碧昂斯和巨石强森这样的美国巨星在大选中,如何站队的?
  9. 福建人在纽约:有多少人通过走线(偷渡)到纽约的?
  10. 号外:伊隆·马斯克的第11个孩子出生了
  11. 加州公司的市值盘点 top10
  12. 巨型公司:市值已超3.5万亿美元,约合18个阿里巴巴!
  13. 完整曝光:美国前总统【川普(特朗普)】遭遇刺客的前前后后
  14. 从旧金山到洛杉矶,美国西部旅行的完整实录
  15. 在加州海滩捡蛤蜊,72个罚9万美元!
  16. 佛罗里达遭遇的飓风可以影响到美国大选结果?
  17. 关于美国的社保(全面解读)
  18. 漂亮国再次遣返中国移民,这批有131人!
  19. 关于美国大学的学费开支
  20. 悲惨回顾:美国历史上的十大枪击案盘点
  21. 中国人即将登月!
  22. 深入剖析:性在人类交往中的作用
  23. 美国人口流动数据剖析:年轻富有群体搬家去哪儿了?
  24. 新罕布什尔州的一位女子在领取彩金的现场捐出5000万美元
  25. 中国防长:“谁胆敢把台湾从中国分裂出去,必将粉身碎骨、自取灭亡”
  26. 世上只有男人和女人!~ 特朗普总统:上帝只创造了两种性别,无其它!
  27. 能决定2024选举结果?特朗普即将放大招了!
  28. 移民故事:入赘美国的河南保安【蔡小华】现状
  29. “走线”路不通了?拜登政府颁布最严边境令?
  30. 拆解:太精致啦!到底是苹果M4 Mac mini牛?还是华强北更牛?
  31. 《潜望》对话李开复:如果美国形成AGI霸权,中国咋办?
  32. 五星红旗在月球背面升起!阿波罗登月遭遇再度质疑?
  33. 人身安全“没保障”的原因?赴美留学的趋势遇冷
  34. 坐火车“游览全美国”的14条线路盘点
  35. 关于EVUS的填写心得和常见问题
  36. 珠海航展:轰20的先行版遭遇美国酸溜溜了

美国动态 美果转盘 美果商店

Your IP: 52.15.68.97, 2024-11-26 19:45:55

Processed in 0.48024 second(s)

头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息
已有0次打赏
(1) 分享
分享
取消