下面是个超简单的一个php目录类教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~
【 tulaoshi.com - Web开发 】
?//目录操作基类class FileDirectory { var $servermode; var $serverpath; //web服务器目录 var $pagepath; //当前页目录 var $path; //当前目录 var $ffblk; //用于存储有关文件的信息 function FileDirectory() { set_time_limit(0); //设置网页运行时间,0不限 $this-serverpath = $GLOBALS[DOCUMENT_ROOT]."/"; $this-path = $this-pagepath = dirname(eregi_replace("//","/",$GLOBALS[SCRIPT_FILENAME]))."/"; if(eregi("Win32",getenv("SERVER_SOFTWARE"))) $this-servermode = "WIN32"; } function first_dir() { return dirname(eregi_replace("//","/",$GLOBALS[SCRIPT_FILENAME])); } //获取文件信息 function file_info($filename) { $ar[name] = $filename; $ar[type] = filetype($filename); $ar[read] = is_readable($filename); $ar[write] = is_writeable($filename); $ar[exec] = is_executable($filename); $ar[time] = date("Y-m-d H:i:s",filemtime($filename)); $ar[size] = filesize($filename); $ar[style] = ($ar[type]=="dir"?"d":"-") .($ar[read]?"r":"-") .($ar[write]?"w":"-") .($ar[exec]?"x":"-"); return $ar; } function format_path($path){ $tar = split("/",$path); $sar = split("/",$this-path); $t = count($tar); $s = count($sar); if($tar[$t-1] == "") $t--; if($sar[$s-1] == "") $s--; $j = 0; while($tar[$j] == "..") { $j++; $s--; } $p = ""; for($i=0;$i$s;$i++) $p .= $sar[$i]."/"; for($i=$j;$i$t;$i++) if($tar[$i] != ".") $p .= $tar[$i]."/"; $this-path = $p; } //获取目录信息到数组,成功返回时$this-path为目录的全路径 function array_dir($pathname=".") { $old = $this-path; if($this-servermode == "WIN32") $path = str_replace("","/",$pathname); else $path = $pathname; $this-format_path($path); if(! ($handle = @opendir($path))) { $path = dirname($pathname); $handle = opendir($path); } if(@chdir($this-path)) { while ($file = readdir($handle)) { $ar[] = $this-file_info($file); } }else $this-path = $old; closedir($handle); return $ar; }} //FileDirectory定义结束??//目录对话框class OpenFileDialog extends FileDirectory { var $filter = array("*.*"); function Execute($path,$statpath) { if($path != "") { chdir($statpath); $this-path = $statpath; $ar = $this-array_dir($path); }else $ar = $this-array_dir("."); array_multisort($ar);echo "styletd{font-size:9pt;}select{font-size:9pt;}#box{border:3px outset #ffffff}/styleform action=";echo $GLOBALS[PHP_SELF];echo " method=POSTtable bgcolor=#cccccc cellspacing=0 cellpadding=0trtdtable border=0 id=boxtrtd";echo "当前路径 ".$this-path."brn";echo "input type=hidden name=statpath value="".$this-path.""n";echo "select name=dirlist size=6 style="width:100px" onChange="this.form.submit()"n";for($i=0;$icount($ar);$i++) if($ar[$i][type] == "dir") if($ar[$i][name] == ".") echo "option selected".$ar[$i][name]."n"; else echo "option".$ar[$i][name]."n";echo "/select n";echo "select size=6 style="width:100px"n";for($i=0;$icount($ar);$i++) if($ar[$i][type] == "file") echo "option".$ar[$i][name]."n";echo "/select/td/tr/table/td/tr/table/form"; }} //OpenFileDialog??//测试$dir = new OpenFileDialog();echo "服务器类型 ".$dir-servermode."br";echo "服务器路径 ".$dir-serverpath."br";echo "当前页路径 ".$dir-pagepath."br";echo "当前路径 ".$dir-path."br";$dir-Execute($dirlist,$statpath);?(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)
来源:http://www.tulaoshi.com/n/20160219/1612799.html