以数字开头的重复数据如:复制代码 代码如下:Array ( [0] => 100 [k1] => 100 [1] => 2123 [k2] => 2123  )  该方法可以将以数字为key的值去掉,先将数组按照key倒序排序,然后用array_unique的方法将重复的值去掉。不能适用于下面的情况:不同的key值存在相同的value的情况复制代码 代码如下:function array_unique_value($arr = array()){      array_multisort($arr, SORT_DESC,

复制代码 代码如下:<?php @mysql_connect("localhost", "root","1981427") //选择数据库之前需要先连接数据库服务器 or die("数据库服务器连接失败"); @mysql_select_db("test") //选择数据库mydb or die("数据库不存在或不可用"); $query = @mysql_query("select * from tablename1") //执行SQL语句 or die("SQL语句执行失败"); ?>复制代码 代码如下:<?php @mysql_connect("localhost", "root","1981427") //选择数据库之前需要先连接数据库服务器 or die("数据库服务器连接失败"); @mysql_select_db("test") //选择数据库mydb or die("数据库不存在或不可用"); $query = @mysql_query("insert into tablename1 values('4', 'Judy','456')") or die("SQL语句执行失败"); ?>复制代码 代码如下:<?php @mysql_connect("localhost", "root","1981427") //选择数据库之前需要先连接数据库服务器 or die("数据库服务器连接失败"); @mysql_select_db("test") //选择数据库mydb or die("数据库不存在或不可用"); $query = @mysql_query("select * from tablename1") //执行SQL语句 or die("SQL语句执行失败"); echo mysql_result($query, 0, 'username'); //输出第0行的name列 ?

# -------------------------------------------------------- # 数据表的结构 'menu' # --------------------------------------------------------CREATE TABLE menu ( menu_id int(11) NOT NULL auto_increment, menu varchar(20) NOT NULL, menu_grade int(11) NOT NULL, menu_superior int(11) NOT NULL, UNIQUE menu_id (menu_id) ); # -------------------------------------------------#数据表内的内容,根据具体情况而定# -------------------------------------------------INSERT INTO menu VALUES( '1', '计算机', '1', '0'); INSERT INTO menu VALUES( '2', '编程', '2', '1'); INSERT INTO menu VALUES( '3', '网络', '2', '1'); INSERT INTO menu VALUES( '4', 'PHP与MySql', '3', '2'); INSERT INTO menu VALUES( '5', 'C语言', '3', '2'); INSERT INTO menu VALUES( '6', '网页制作', '3', '3'); INSERT INTO menu VALUES( '7', 'TCP、IP协议', '3', '3'); INSERT INTO menu VALUES( '8', '数学', '1', '0'); INSERT INTO menu VALUES( '9', '高等数学', '2', '8'); INSERT INTO menu VALUES( '10', '线性代数', '3', '9'); INSERT INTO menu VALUES( '11', '离散数学', '3', '9'); INSERT INTO menu VALUES( '12', '初等数学', '2', '8'); INSERT INTO menu VALUES( '13', '文学', '1', '0'); INSERT INTO menu VALUES( '14', '中国文学', '2', '13'); INSERT INTO menu VALUES( '15', 'php', '4', '4'); INSERT INTO menu VALUES( '16', 'mysql', '4', '4'); <? //树型目录结构模板程序 //菜单目录库字段说明: //menu_id 菜单项目 id //menu 菜单名称 //menu_grade 菜单等级 1 为主菜单 2 为二级菜单 ........ //menu_superior 上一级菜单 id 号 function my_menu($menu_content,$i,$menu_grade_temp,$menu_superior_temp) { global $PHP_SELF; $temp1=$menu_grade_temp+1; $menu_superior_temp_array=split("/",$menu_superior_temp); for ($t=0;$t<$i;$t++) { $menu_array=split("/",$menu_content[$t]); If(($menu_array[2]==$menu_grade_temp)&&($menu_array[3]==$menu_superior_temp_array[$menu_grade_temp-1])) { for($p=1;$p<=$menu_grade_temp;$p++){echo ">";} //显示目录前的等级箭头$temp3=$menu_superior_temp_array; $temp3[$menu_grade_temp]=$menu_array[0]; $temp2=implode("/",$temp3); if ($menu_array[0]==$menu_superior_temp_array[$temp1-1]) { $temp5=$temp1-1; $temp3[$menu_grade_temp]=""; $temp6=implode("/",$temp3); echo "<a href=\"$PHP_SELF?menu_grade_temp=".$temp5."&menu_superior_temp=$temp6\">$menu_array[1]</a><br>";my_menu($menu_content,$i,$temp1,$temp2); } else { $temp3[$menu_grade_temp+1]=""; $temp6=implode("/",$temp3); echo "<a href=\"$PHP_SELF?menu_grade_temp=".$temp1."&menu_superior_temp=$temp6\">$menu_array[1]</a><br>";} } } } // 连接 MySql 数据库 $db_host="localhost"; $db_user="root"; $db_password="zmxj"; $db_name="joss"; mysql_connect($db_host,$db_user,$db_password); mysql_select_db($db_name); //从数据库中取得数据 $query_string="select * from menu order by menu_grade"; $db_data=mysql_query($query_string); //第一次执行初始化 if ($menu_grade_temp=="") { $menu_superior_temp=0; } //将所有的信息读入数组,并统计数组个数 $i=0; while (list($menu_id,$menu,$menu_grade,$menu_superior)=mysql_fetch_row($db_data)) { $menu_content[$i]=$menu_id."/".$menu."/".$menu_grade."/".$menu_superior; $i++; } my_menu($menu_content,$i,1,$menu_superior_temp); ?

大致程序思想就是使用递规来计算目录占用空间多少, 然后再把这个占用空间的值写进文本文件里, 那么只要访问这个txt文件就知道占用了多少空间, 不用频繁获取而读磁盘, 节省资源. 每次用户如果上传的文件或者删除了文件, 那么又重新进行统计. 当然, 也可以把统计结果保存到数据库里. 复制代码 代码如下: function countDirSize($dir) { $handle = opendir($dir); while (false!==($FolderOrFile = readdir($handle))) { if($FolderOrFile != "." && $FolderOrFile != "..") { if(is_dir("$dir/$FolderOrFile")) { $sizeResult += getDirSize("$dir/$FolderOrFile"); } else { $sizeResult += filesize("$dir/$FolderOrFile"); } } } closedir($handle); return $sizeResult; } 把字节转换为正常的K啊M啊之类的函数: 复制代码 代码如下: function get_real_size($size) { $kb = 1024; // Kilobyte $mb = 1024 * $kb; // Megabyte $gb = 1024 * $mb; // Gigabyte $tb = 1024 * $gb; // Terabyte if($size < $kb) { return $size." B"; }else if($size < $mb) { return round($size/$kb,2)." KB"; }else if($size < $gb) { return round($size/$mb,2)." MB"; }else if($size < $tb) { return round($size/$gb,2)." GB"; }else { return round($size/$tb,2)." TB"; } } 用法很简单: 复制代码 代码如下: $size_zip=countDirSize("../zip/"); $size_zip=get_real_size($size_zip); 就这么简单了,呵呵。 复制代码 代码如下:<? /** * File: fetch user directory use size * Author: heiyeluren <heiyeluren_AT_gmail_com> * Create: 2005-9-19 16:20 * Modifed: 2005-9-19 16:41 */ /*** 基本函数 ***/ //计算目录大小 function countDirSize(dir) { handle = opendir(dir); while (false!==(FolderOrFile = readdir(handle))) { if(FolderOrFile != "." && FolderOrFile != "..") { if(is_dir("dir/FolderOrFile")) { sizeResult += getDirSize("dir/FolderOrFile"); } else { sizeResult += filesize("dir/FolderOrFile"); } } } closedir(handle); return sizeResult; } //保存用户文件大小 function saveDirSize(userDir) { userDirSize = countDirSize(userDir); if (!fp = fopen(userDir."/dir_size.txt", "w+")) { die("Open file failed"); } else { fwrite(fp, dirSize); } } //获取用户目录的大小 function getDirSize(userDir) { user = addslashes(userDir); sizeFile = userDir."/dir_size.txt"; if (!fp = fopen(sizeFile, "r") { return 0; } else { dirSize = fread(fp, filesize(sizeFile)); } return dirSize; } /*** 调用实例 ***/ user = "heiyeluren"; userPath = "./user/".user; //如果用户执行了删除或者上传文件的操作就重新获取目录大小 if (action == "upload" || action == "delete") { saveDirSize(userPath); } userDirSize = getDirSize(userPath)/1024; echo "用户: ".user; echo "占用空间: ".userDirSize; ?

复制代码 代码如下:<?php //创建一个新的DOM文档 $dom = new DomDocument(); //在根节点创建departs标签 $departs = $dom->createElement('departs'); $dom->appendChild($departs); //在departs标签下创建depart子标签 $depart = $dom->createElement('depart'); $departs->appendChild($depart); //在depart标签下创建employees子标签 $employees = $dom->createElement('employees'); $depart->appendChild($employees); //在employees标签下创建employee子标签 $employee = $dom->createElement('employee'); $employees->appendChild($employee); //在employee标签下创建serial_no子标签 $serial_no = $dom->createElement('serial_no'); $employee->appendChild($serial_no); //为serial_no标签添加值节点100001 $serial_no_value = $dom->createTextNode('100001'); $serial_no->appendChild($serial_no_value); //输出XML数据 echo $dom->saveXML(); ?> 复制代码 代码如下:<?php $dom = new DomDocument(); //创建DOM对象 $dom->load('example.xml'); //读取XML文件 $root = $dom->documentElement; //获取XML数据的根 read_child($root); //调用read_child函数读取根对象 function read_child($node) { $children = $node->childNodes; //获得$node的所有子节点 foreach($children as $e) //循环读取每一个子节点 { if($e->nodeType == XML_TEXT_NODE) //如果子节点为文本型则输出 { echo $e->nodeValue."<BR>"; } else if($e->nodeType == XML_ELEMENT_NODE) //如果子节点为节点对象,则调用函数处理 { read_child($e); } } } ?

分类:腾博会官方网

时间:2016-10-07 12:27:04