"树"类 本帖最后由 xuzuning 于 2010-08-19 07:06:32 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ######## 应用范例 #######例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();?> 节点图片<?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=')); 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); }}?> 数组后面那些长的数字+字母,是不是图片ASCii? 非常好!刚刚试了一下。另外我从上发现竟然可以用中文名作变量名!我以前以为不支持呢!<? class S{ var $中文; function S(){ $this->中文="xxxx";}}$a=new S("dd");echo $a->中文;$厄="hehee";echo $厄;?> 数组后面那些长的数字+字母,是不是图片ASCii?是图片的base64编码 sigh..改了一上午,用Tree 类样例5想做一个资源管理器没成功,路径搞的头大了,唠叨能继续修改一下吗?谢谢了 okdw(零零发财) 路径处理是很简单的1、使用绝对路径2、使用realpath()函数来处理相对路径missboy(missboy) 是吗?很同情。不应该有此现象 关于smarty模块 哪位帮忙看一下以下测试php64位的程序如何理解?谢谢 求一个JS正则提取字符串 正则问题 求助:2008年2月3日如何转换成时间戳? 求助:php中调用socket_write()后,怎么清空缓存使其迅速发出?以及如何设置socket的时限?急! 小问题,大麻烦!! 帮我详细介绍一个在线调查系统 请教高人指点,请教一个模式匹配符 thinphp 3.2动态路由 规则 求帮忙看眼 哪里错了 php存到数据库好象对某些字的支持有问题,不知是知原因. 有人用error_log函数吗?
例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();
?>
<?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=')
);
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);
}
}
?>
<? class S{
var $中文;
function S(){
$this->中文="xxxx";}
}
$a=new S("dd");
echo $a->中文;
$厄="hehee";
echo $厄;
?>
路径处理是很简单的
1、使用绝对路径
2、使用realpath()函数来处理相对路径missboy(missboy)
是吗?很同情。
不应该有此现象