一个php目录类

2016-02-19 16:41 2 1 收藏

下面是个超简单的一个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);?

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

来源:https://www.tulaoshi.com/n/20160219/1612799.html

延伸阅读
标签: Web开发
HTML  HEAD   SCRIPT LANGUAGE="JavaScript"   !--  var Drag = {   sx : 0,   sy : 0,   ex : 0,   ey : 0,   lx : 0,   ly : 0,   offsetX : 0,   offsetY : 0,   cdom : null,   dragAble : false,   dragFun : null,   tempDrag : function(){  &nb...
标签: Web开发
基本用法: 代码如下: var ajax = new AjaxObj(url); ajax.addListener(200, function(r){ alert(r); }); ajax.send(); 也可以连续调用: 代码如下: var ajax = new AjaxObj(url).addListener(200, function(r){ alert(r); }).send(); 另外还支持自定义的POST或GET方式请求,以及监视不同的HTTP状态码,自己看代码琢磨...
标签: Web开发
一个用Php Class写的发信程序 这个类里显示了发送MIME的方法,也就是HTML格式信件和附件发送的问题。 /* Mail: An object to encapsulate the sending of email. Allows user-specified From: addresses, handles the encoding of attachments; conforms more or less to MIME standards.. Uses sendmail to send the mail, mimencod...
标签: Web开发
需要把文章里的回车去掉 但是分段的回车还是要保留 规则也就是保留后面跟有4个空格的换行,去掉其他的换行.. 偶也写不好正则表达式,试试看这个,VBS下好象可用 代码如下: \r\n[^\s{4,}] php中 代码如下: ?php echo 'textarea rows=38 cols=50'.$file=file_get_contents($_GET['f']).'/textarea'; $p='/\r\n([^\s{4,}])/'; $...

经验教程

479

收藏

42
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部