本帖最后由 xuzuning 于 2010-08-19 07:06:32 编辑

解决方案 »

  1.   

    ######## 应用范例 #######
    例1
    <?php
    /***
    Tree 类样例1
    从数组读取数据,生成完整的树。
    ***/include "tree_class.inc.php";
    $t = new tree;$ar = array(
    array(id=>1,pid=>0,text=>"PHP",link=>"#"),
    array(id=>2,pid=>1,text=>"函数"),
    array(id=>5,pid=>1,text=>"类"),
    array(id=>3,pid=>0,text=>"ASP"),
    array(id=>4,pid=>2,text=>"数组"),
    array(id=>6,pid=>3,text=>"函数"),
    array(id=>7,pid=>0,text=>"JSP")
    );foreach($ar as $v) {
      $t->insert($v);
    }$t->display();
    ?>例2
    <?
    /***
    Tree 类样例2
    从数据库读取数据,生成完整的树。#
    # 数据表的结构 `menu`
    #CREATE TABLE menu (
      id tinyint(4) NOT NULL default '0',
      name varchar(20) NOT NULL default '0',
      pid tinyint(4) NOT NULL default '0'
    ) TYPE=MyISAM;
    ***/include "tree_class.inc.php";
    $t = new tree;$conn = mysql_connect();
    mysql_select_db("test");
    $sql = "select * from menu"; 
    $rs = mysql_query($sql);while($row = mysql_fetch_row($rs)) {
      $t->insert(array(id=>$row[0], pid=>$row[2], text=>$row[1]));
    }$t->display();
    ?>
    例3
    <?php
    /***
    Tree 类样例3
    从数据库读取数据,交互生成树。#
    # 数据表的结构 `menu`
    #CREATE TABLE menu (
      id tinyint(4) NOT NULL default '0',
      name varchar(20) NOT NULL default '0',
      pid tinyint(4) NOT NULL default '0'
    ) TYPE=MyISAM;
    ***/include "tree_class.inc.php";
    $t = new tree("bond='等着瞧,哈哈...'");$conn = mysql_connect();
    mysql_select_db("test");
    $sql = "select * from menu"; 
    $rs = mysql_query($sql);while($row = mysql_fetch_row($rs)) {
      $t->insert(array(id=>$row[0], pid=>$row[2], text=>$row[1]));
    }if(! isset($_GET['node'])) {
      $t->javascript();
      echo $t->node(0);
    }else { // 分步加载时返回指定节点
      $s = $t->node($_GET['node']);
      $s = preg_replace("/\r?\n/","\\n",$s);
      echo "myload = '$s'";
    }
    ?>
    例4
    <?php
    /***
    Tree 类样例4
    从数据库读取数据,按日期型字段内容生成完整的树。#
    # 数据表的结构 `mydates`
    #CREATE TABLE mydates (
      id int(15) NOT NULL auto_increment,
      name varchar(20) NOT NULL default '',
      datetime datetime NOT NULL default '0000-00-00 00:00:00',
      contents text NOT NULL,
      outorin char(1) NOT NULL default '1',
      UNIQUE KEY id (id)
    ) TYPE=MyISAM;
    ***/include "tree_class.inc.php";$notebook = mysql_connect();
    mysql_select_db("test");
    $query_year = "SELECT
     YEAR(datetime),
     MONTH(datetime),
     DAYOFMONTH(datetime),
    mydates.* FROM mydates order by datetime";
    $rs = mysql_query($query_year, $notebook) or die(mysql_error());$oy = $om = $od = 0;
    while(list($y,$m,$d,$id) = mysql_fetch_row($rs)) {
      if($y > $oy) {
        $om = $od = 0;
        $oy = $y;
        $ar[] = array(id=>$y,pid=>0,text=>"{$y}年");
      }
      if($m > $om) {
        $od = 0;
        $om = $m;
        $ar[] = array(id=>sprintf("%d%02d",$y,$m),pid=>$y,text=>"{$m}月");
      }
      if($d > $od) {
        $od = $d;
        $ar[] = array(id=>sprintf("%d%02d%02d",$y,$m,$d),pid=>sprintf("%d%02d",$y,$m),text=>"{$d}日");
      }
    }$t = new tree;
    foreach($ar as $v) {
      $t->insert($v);
    }
    $t->display();
    ?>
    例5
    <?php
    /***
    Tree 类样例5
    从基类派生出目录类把服务器端目录以树的形式显示。
    ***/include "tree_class.inc.php";class Tree_dir extends Tree {
      var $叶 = array(
    "images/0.gif",
    asp=>"images/asp.gif",
    bmp=>"images/bmp.gif",
    gif=>"images/gif.gif",
    htm=>"images/htm.gif",
    html=>"images/htm.gif",
    ini=>"images/ini.gif",
    inc=>"images/php.gif",
    jpg=>"images/jpg.gif",
    jpeg=>"images/jpeg.gif",
    js=>"images/js.gif",
    php=>"images/php.gif",
    png=>"images/png.gif",
    txt=>"images/txt.gif",
    vbs=>"images/vbs.gif"
    );  var $code = '
    $m = 0;
    if(is_array($a)) {
    $m += 1;
    $a = strtoupper($a[name]);
    }else
    $a = strtoupper($a);
    if(is_array($b)) {
    $m = ($m+2)%3;
    $b = strtoupper($b[name]);
    }else
    $b = strtoupper($b);
    if($m > 0) return $m==1 ? -1 : 1;
    if($a == $b) return 0;
    return $a > $b ? $k : -$k;';  /**
       * node 方法
       * 功能 根据模板构造指定节点数据
       */
      function node($id,$key=array("id","pid","text","link")) {
    $ar = $this->dirtree_list($id);
    if(($n = count($ar)) == 0) return "";
    $块 = "";
    foreach($ar as $k=>$value) {
    $n--;
    $p = is_array($value) ? 1:0;
    $可见 = "none";//"block";
    $标识 = $p==0 ? $p : $p+$n;
    $主图标 = "<img src=\"{$this->images[$p][sign($n)]}\" align=absmiddle>";
    if($p > 0)
    $img = $this->images[$p][2];
    else
    if(!($img=$this->images[$p][2][strtolower(substr(strrchr($value,"."),1))]))
    $img=$this->images[$p][2][0]; $副图标 = empty($this->images[$p][2]) ? "" : "<img src=\"$img\" align=absmiddle>";
    $文字 = $p==0 ? $value : $value[name];
    $连线 = $this->images[3][sign($n)]; $编号 = urlencode($p==0 ? $value : $value[path]);
    $子树 = $this->all ? $this->node($value[$key[0]],$key) : $this->bond[$p];
    $块 .= eval("return \"".AddSlashes($this->block)."\";");
    }
    return eval("return \"\n".AddSlashes($this->tpl)."\";");
      }
      function dirtree_list($path=".") {
    $ar = array();
    $d = dir($path);
    while(($v=$d->read()) != null) {
    $id = count($array);
    if($v == "." || $v == "..")
    continue;
    $file = $d->path."/".$v;
    if(is_dir($file))
    $ar[] = array(name=>$v,path=>$file);
    else
    $ar[] = $v;
    }
    $d->close();
    $cmd = create_function('$a,$b','$k = 1;'.$this->code);
    usort($ar,$cmd);
    return $ar;
      }
      /**
       * display 方法
       * 功能 显示
       */
      function display() {
    if(! isset($_GET['node'])) {
    $this->javascript();
    echo $this->node(".");
    }else { // 分步加载,返回指定节点
    $fp=fopen("xzn.txt","w");
    fwrite($fp,$_GET['node']);
    $s = $this->node($_GET['node']);
    $s = preg_replace("/\r?\n/","",$s);
    fwrite($fp,$s);
    fclose($fp);
    echo "myload = '$s'"; }
      }
    }$t = new Tree_dir;
    $t->display();
    ?>
    例6
    <?php
    /***
    Tree 类样例6
    改变输出样式1
    ***/include "tree_class.inc.php";
    $t = new tree(
      '连线I = ""',
      '连线L = "images/icon-page.gif"',
      '连线T = "images/icon-page.gif"',
      '关闭L = "images/CloseFolder.gif"',
      '关闭T = "images/CloseFolder.gif"',
      '打开L = "images/OpenFolder.gif"',
      '打开T = "images/OpenFolder.gif"',
      '关闭  = ""',
      '打开  = ""',
      '叶    = ""'
      );
    $ar = array(
    array(id=>1,pid=>0,text=>"PHP",link=>"#"),
    array(id=>2,pid=>1,text=>"函数"),
    array(id=>5,pid=>1,text=>"类"),
    array(id=>3,pid=>0,text=>"ASP"),
    array(id=>4,pid=>2,text=>"数组"),
    array(id=>6,pid=>3,text=>"函数"),
    array(id=>7,pid=>0,text=>"JSP")
    );foreach($ar as $v) {
      $t->insert($v);
    }$t->display();
    ?>
    例7
    <?
    /***
    Tree 类样例7
    改变输出样式2
    ***/include "tree_class.inc.php";
    $t = new tree(
      '页="images/icon-page.gif"',
      '连线L="images/icon-page.gif"',
      '连线T="images/icon-page.gif"',
      '打开L="images/icon-expandall.gif"',
      '打开T="images/icon-expandall.gif"',
      '关闭L="images/icon-closeall.gif"',
      '关闭T="images/icon-closeall.gif"',
      'child_node_pos = 0'); // child_node_pos 指示子节点出现的位置  $t->tpl = '<table width=100% bgcolor=#EFEFEF cellpadding=0 cellspacing=1 border=0 style="font-size:9pt">$块</table>';
      $t->block = '<tr bgcolor=#DFDFDF onClick="tree_onclick()" bs=$标识><td>$主图标 $文字</td></tr><tr style="display:$可见"><td value="$编号">$子树</td></tr>';$ar = array(
    array(id=>1,pid=>0,text=>"PHP",link=>"#"),
    array(id=>2,pid=>1,text=>"函数"),
    array(id=>5,pid=>1,text=>"类"),
    array(id=>3,pid=>0,text=>"ASP"),
    array(id=>4,pid=>2,text=>"数组"),
    array(id=>6,pid=>3,text=>"函数"),
    array(id=>7,pid=>0,text=>"JSP")
    );foreach($ar as $v) {
      $t->insert($v);
    }$t->display();
    ?>
      

  2.   

    节点图片
    <?php
    $images = array(
    array('images/tree_I.gif','R0lGODlhEwAUAIAAAHt7e////yH5BAUUAAEALAAAAAATABQAAAIbjG+Ay+2tnpws0ist3kvz731bKF5kOZ3oo6IFADs='),
    array('images/tree_L.gif','R0lGODlhEwAUAIAAAHt7e////yH5BAUUAAEALAAAAAATABQAAAIbjG+Ay+2tnpws0ist3kvzr4SB6H3miabqyhoFADs='),
    array('images/tree_T.gif','R0lGODlhEwAUAIAAAHt7e////yH5BAUUAAEALAAAAAATABQAAAIdjG+Ay+2tnpws0ist3kv58GkcNJaJWYoopa6Z2xQAOw=='),
    array('images/OpenFolder.gif','R0lGODlhEgASAJEAAP///29vbwAAAP///yH5BAUUAAMALAAAAAASABIAAAIunI+py+0mopxiCYBzrupqzSUeNgIhUqYWOZHB8B4puG50991ivlkU9QgKh8RHAQA7'),
    array('images/OpenFolder_L.gif','R0lGODlhEgASAPcAAAAAAP///21tbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAMALAAAAAASABIAAAhPAAcIHChQAMGDCBMqPGhwocB/ECNK/JfwX4CLGDFSRGgxY8aNBzteFBkAJEGSKCuOlDjSYMOHHz+q1CiTo8eaIW9qrDhxosOfQIMKHTogIAA7'),
    array('images/OpenFolder_T.gif','R0lGODlhEgASAJEAAAAAAP///21tbf///yH5BAEAAAMALAAAAAASABIAAAIynG+Cy+2rngG0WtBA2JxjpnXdt4SbGZAIymandSrRNI6uZ4NiXu5edrlIEsNicWYcFgAAOw=='),
    array('images/CloseFolder.gif','R0lGODlhEgASAJEAAP///29vbwAAAP///yH5BAUUAAMALAAAAAASABIAAAIvnI+py+0mopxiCYBzrupqzSXeh4XISJqHR5XB8K7kZs1lbauQDegDBXwIh8TiowAAOw=='),
    array('images/CloseFolder_L.gif','R0lGODlhEgASAJEAAP///29vbwAAAP///yH5BAUUAAMALAAAAAASABIAAAIwnG+By+2rnhG0WtEE2JxjpnXdt4TiRiLmmR7hhSrRdHpZjd54S+/ZdZEIh8SicVAAADs='),
    array('images/CloseFolder_T.gif','R0lGODlhEgASAJEAAP///29vbwAAAP///yH5BAUUAAMALAAAAAASABIAAAIxnG+By+2rnhG0WtEE2JxjpnXdt4TiRiLmmR7hhSrRdHpZjd54S+/ZdZEkhETirCgsAAA7'),
    array('images/FolderClose.gif','R0lGODlhEgASALMAAP//Mf/zKf/vKf/rKf/nKf/jKf/fKf/bKf/XIf/PIf/HIf+qIca6MQAAAP///wAAACH5BAUUAA4ALAAAAAASABIAAARb0MlJq714sr1blgwgioyHcWjKLBQTvEM8FPSBLKbjBvJcI7ccQ0AkGA1IYFDToxVswASOGXNCEQmp0EhAGpRZreaYjGYVU5AVfEYLF/C4PJ5zNO74fP7D7/s/EQA7'),
    array('images/FolderOpen.gif','R0lGODlhEgASAMQAAP/3Kf/zKf/vKf/rKf/nKf/jKf/fKf/bKf/XKf/TIf/PIf/LIf/HIf+qIca6MQAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUUABAALAAAAAASABIAAAVfICSOZGmeKOmsazo6QBw7LizLLKvePP68vZ7jB8kZc4ChqBFoDp6FwuEwXBGZgecgOk1UlUst95BILBoP9KhBaBsMiPJiMVSvx/K5A01cNv6AgXwlD4WGh4YuiouMKSEAOw=='),
    array('images/icon-expandall.gif','R0lGODlhEAAPAIAAAAAAAAAAACH5BAEAAAEALAAAAAAQAA8AQAIXjI+pBosAY3S02iOby/L6DzKcNYXmeRQAOw=='),
    array('images/icon-closeall.gif','R0lGODlhEAAPAIAAAAAAAAAAACH5BAEAAAEALAAAAAAQAA8AQAIXjI+pwKzXonu0WgqujLf7D1aNtoUmUgAAOw=='),
    array('images/icon-page.gif','R0lGODlhEAAQAKIEAP///wAAAH9/f8jIyP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAQABAAAAM9SBSh/jCAIKqtbTEwueeZ9Imjwohk6UjsiT7bpzoC2IJQLXsZbZ+4h243ye0sPcXQMygaZYPkynWCWK+OBAA7'),
    array('images/0.gif','R0lGODdhEAAQAOMAAP///394f//3/7+4vwAAAP8AAAB4AAAA///4AAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAAQAAAESxCAQKsVWMiQuxgctnnZIIQjKRAsoU1q6abxMMNF1mL2GxYFQtDg6o0OnxYr6cMcDgQoonjjUJXMFCtg6hlhsSy4Vh2Yz+ivco2NAAA7'),
    array('images/asp.gif','R0lGODdhEAAQAMYAANbm9wAAAAgICJmZmf/////3/8/n8BkYGWZmZq+wrz9APyIhIvf2/IuHiyYlJjMzM8zMzMvFy9bm7cvi5KnT1hUKCejX3eHo8I/CxACBiQBocAAzM3WoriSDigBMVCZgaDptcwJXXmWtsnm8xABmZrq7wv7V19mxuGKNlMu/xnCborjc4C16gaayuf/b4n63uo2aofLU2+/o71aXnlSpsN/v8G22vwBAR3+ttQBQWNXf5/by9CtbYkqRmJq/xtbz9I2lrfDe4hBdZCOKkfDw8GqrsyFqcjOZmfH09A0TFA5KUNv8/7m+xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAAQAAAHtYAAAQKEhYQDBAWKBQYHiYsFBAgHCY+MjpCRCgMLAwyKjZaLDQ4PARAEBKGZkakOEakSmJCpExQVFqkXs4oEEhgZGhscurwFEx0eHyAZISIMu5YEIyQlJicoKSoE0akEKywtLi8wMTIzNDWO3jY3Ljg5OTo7KjzqljU9Pj9APgRBBSzcW0TAhhAXqUR0GFKAyDpvBIoYmUDgiIYVBZAEOMCxY5IASpY8YOINCZGTKE8iIbDDWyAAOw=='),
    array('images/bmp.gif','R0lGODdhEAAQAIQAAP///4CAgP/3//Dw8GZmZgAAAMzMzK+wr7+4v/8AAH8AAH94AP/4AAAAfwAA/8wAZk9IT3BwcDMzMz9AP4uHi5mZmeDo4N/g3wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAAQAAAFgiAABGRpBkIqBsNAFEbbkurYHkEss+jLDiQdYVAoFgiBAmKQUMSSMIOhMDoom4YFAzaQUgENR+Gh0EZb01WjUd5KZVMIKTInSXTdwgQ/QOD2cFQTBwcUFQQRd3hpExYWBoUBe4uCFwOPFAGKgQCNAxeQkm9oghafkBRRUl4iRq6vRSEAOw=='),
    array('images/gif.gif','R0lGODdhEAAQAOMAAH94f//3/7+4v/8AAH8AAAAAAH94AAD4AAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAAQAAAEVhDISYO94OogsvYbF3gDAW5FWgylZwivYRQcS4yWoBZzYFuuwmE4+wFzQiKgQKAdAzOEoKPTYZABBCLFceKg3p71CSuLvZ6dqnsNXcajqXw+9arvXEsEADs='),
    array('images/htm.gif','R0lGODdhEAAQAIQAAP/3/4CAgIuHi1BQUP/47wBmzDMzMwAAfzNm/+/o78zMzHBwcP///2KNlJDIzzMzzGD4/+Do4JmZZv/4kADM/+Dg0P/IkMyZZjNmzGZmZgAzmb+4vwBmmX94ADMzZgAAACwAAAAAEAAQAAAFfyAgBmRZiuiYosKwAgFAzLQAuGk8F8U8GMDUgccjIBIKwcLFYBwajscDUkgQIknmQTLpER6UaqSiYC4sCCJxTHYtLpj0zDoelwEZiQaB2GweCBxsdx0PHoB8gXVtAAwPAB8fHJOLjE0PCwARbGyMKAsKoaKjOCJLA6ipqi+sKSEAOw=='),
    array('images/htm.gif','R0lGODdhEAAQAIQAAP/3/4CAgIuHi1BQUP/47wBmzDMzMwAAfzNm/+/o78zMzHBwcP///2KNlJDIzzMzzGD4/+Do4JmZZv/4kADM/+Dg0P/IkMyZZjNmzGZmZgAzmb+4vwBmmX94ADMzZgAAACwAAAAAEAAQAAAFfyAgBmRZiuiYosKwAgFAzLQAuGk8F8U8GMDUgccjIBIKwcLFYBwajscDUkgQIknmQTLpER6UaqSiYC4sCCJxTHYtLpj0zDoelwEZiQaB2GweCBxsdx0PHoB8gXVtAAwPAB8fHJOLjE0PCwARbGyMKAsKoaKjOCJLA6ipqi+sKSEAOw=='),
    array('images/ini.gif','R0lGODdhEAAQAMIAAP/3/wAAAP///394f7+4v7+4AP/4AAAAACwAAAAAEAAQAAADSggawN5KCcEGsBhK+7oWViQqBAOA41huS+CY6xmmpIk2bl6zIlEQO1nLZygwYjdFwRAoApAhF9H4tM0W1CqPppURvuAwkpIr6xQJADs='),
    array('images/jpg.gif','R0lGODdhEAAQAOMAAH94f//3/7+4vwAA/wAAfwAAAH94AP8AAH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAAQAAAEVhDISYO94OogsvYbF3gDAW5FWgylZwjvW3AsMVqCWhhzbbmFg5Dn++GCQ0CBMDMGeAhBJ5fDHA8IRIrTvD2DFh7XyonBZlWnTjV2ho4YqXwu7a7vW0sEADs='),
    array('images/jpeg.gif','R0lGODdhEAAQAOMAAH94f//3/7+4vwAA/wAAfwAAAH94AP8AAH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAAQAAAEVhDISYO94OogsvYbF3gDAW5FWgylZwjvW3AsMVqCWhhzbbmFg5Dn++GCQ0CBMDMGeAhBJ5fDHA8IRIrTvD2DFh7XyonBZlWnTjV2ho4YqXwu7a7vW0sEADs='),
    array('images/js.gif','R0lGODdhEAAQAMIAAH94fwAAAP/3/7+4v//4AH94AAAAAAAAACwAAAAAEAAQAAADUAi63AEixibHkwIQsW200CQUJBgIoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8BgAAhsa00BjYYBbc/o9HjNniUAADs='),
    array('images/php.gif','R0lGODdhEAAQAMIAAP///394f//3/7+4vwAAAAB4fwD4/wAAACwAAAAAEAAQAAADTAgQ3C5QqBCrGBROG4fIGxcRhLREQVEE5FWGqmq0w3sKRm4UtWtSBd2s19sIeYJS8UQaOJ1KW+byJEpHpKwvJNreustAdQw1Zc/oUgIAOw=='),
    array('images/png.gif','R0lGODdhEAAQAOMAAAAAAP/3/7+4v394f8wzM/8AAP+ZM//4AP/MM//MAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAEAAQAAAEUBDISYO94OogdxZgKGQZFohhZX1oOJTc2YKv2RJFXhCrHOrAQkyEMwR3LJDugAgmBboEE/jUGRBMY6G6xGK3PgGuyzxkBmh0sMyhTMa5gyUCADs='),
    array('images/txt.gif','R0lGODdhEAAQAMIAAP///wAAAP/3/394f7+4vwAAAAAAAAAAACwAAAAAEAAQAAADOwgQwt4ixiVGvZbJDN+LliRGhHaNYrlFQdtoKoimZtjecD1L8Ym7gl5oJ2T9SLpdMEmsEZ7QaG/xO0oSADs='),
    array('images/vbs.gif','R0lGODdhEAAQAMIAAH94fwAAAP/3/7+4vwD4/wB4fwAAAAAAACwAAAAAEAAQAAADUAi63AEixibHkwIQsW200CQUJBgIoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8BgAAhsa00BjYYBbc/o9HjNniUAADs=')
    );
      

  3.   

    if(! isset($_GET['id'])) {
      echo "<table border>";
      foreach($images as $k=>$v)
        echo "<tr><td>$v[0]</td><td><img src='?id=$k'></td></tr>";
      echo "</td></tr></table>";
    }else {
      echo base64_decode($images[$_GET['id']][1]); 
      if(0) // 1 写入文件,请保证目录存在且可写
      foreach($images as $v) {
        $fp = fopen($v[0],"wb");
        fwrite($fp,base64_decode($v[1]));
        fclose($fp);
      }
    }
    ?>
      

  4.   

    数组后面那些长的数字+字母,是不是图片ASCii?
      

  5.   

    非常好!刚刚试了一下。另外我从上发现竟然可以用中文名作变量名!我以前以为不支持呢!
    <? class S{
    var $中文;
    function S(){
    $this->中文="xxxx";}
    }
    $a=new S("dd");
    echo $a->中文;
    $厄="hehee";
    echo $厄;
    ?>
      

  6.   

    数组后面那些长的数字+字母,是不是图片ASCii?是图片的base64编码
      

  7.   

    sigh..改了一上午,用Tree 类样例5想做一个资源管理器没成功,路径搞的头大了,唠叨能继续修改一下吗?谢谢了
      

  8.   

    okdw(零零发财) 
    路径处理是很简单的
    1、使用绝对路径
    2、使用realpath()函数来处理相对路径missboy(missboy) 
    是吗?很同情。
    不应该有此现象