利用js
例1
代码如下 | 复制代码 |
<script> <input type=file name=path onpropertychange="check()"> (只能上传JPG或GIF格式的图片) |
例2
代码如下 | 复制代码 |
<script> +1,length)))1;")){alert("Allowed file types:n"+af);obj.createTextRange().execCommand('delete')}; |
例3
代码如下 | 复制代码 |
/* |
如果是利用php,asp类的我们就不能像上面处理了需要如下
代码如下 | 复制代码 |
$name=$_FILES['file4']['name']; //获取客户端机器原文件的名称 |
上面的方法说实话只能骗小朋友了,只要我们把上传文件的后缀名改一下就可能通过上面验证
稍加改进后这样就与文件后缀名无关了
代码如下 | 复制代码 |
$temppath=$upfile['tmp_name']; |
id 后缀名 php识别出的文件类型
0 gif image/gif
1 jpg image/jpeg
2 png image/png
3 bmp image/bmp
4 psd application/octet-stream
5 ico image/x-icon
6 rar application/octet-stream
7 zip application/zip
8 7z application/octet-stream
9 exe application/octet-stream
10 avi video/avi
11 rmvb application/vnd.rn-realmedia-vbr
12 3gp application/octet-stream
13 flv application/octet-stream
14 mp3 audio/mpeg
15 wav audio/wav
16 krc application/octet-stream
17 lrc application/octet-stream
18 txt text/plain
19 doc application/msword
20 xls application/vnd.ms-excel
21 ppt application/vnd.ms-powerpoint
22 pdf application/pdf
23 chm application/octet-stream
24 mdb application/msaccess
25 sql application/octet-stream
26 con application/octet-stream
27 log text/plain
28 dat application/octet-stream
29 ini application/octet-stream
30 php application/octet-stream
31 html text/html
32 htm text/html
33 ttf application/octet-stream
34 fon application/octet-stream
35 js application/x-javascript
36 xml text/xml
37 dll application/octet-stream
38 dll application/octet-stream
例1
代码如下 | 复制代码 |
$yArr = array( |
注:因为是无限次的调用,所以我加了个判断,在层级$level=10的时候让他跳出。没有哪个正常网站会放超过10层的
目录结构吧。
执行到static变量后,判断下当前层级,如果层级为0,那么表示这是最高级菜单,需要清空$arrcate的数据重新声明
例2
代码如下 | 复制代码 |
//我们建一个表"class" |
代码
代码如下 | 复制代码 |
< ?php header("Content-type:text/html;charset=utf-8"); $db=new mysqli("localhost","root","","news_php100") ; if(mysqli_connect_errno()){ echo "链接失败:".mysqli_connect_error(); exit(); } $db->query("set names utf8"); $result=$db->query("select name from class where f_id=0"); while($row=$result->fetch_assoc()){ echo $row['name']."< br>"; //这样就把每个大类循环出来了。 } //同样我们可以把新闻的子类循环出来。 $result=$db->query("select * from class where f_id=1"); while($row=$result->fetch_assoc()){ echo $row['name']." "; //这样就把‘新闻’的子类循环出来了。注意:只是子类,不包括孙子类。 } |
//写到这里,我们会发现一个问题,如果这个分类是10级分类,难道我们要写
10个循环把它每个子类循环出来?如果是更多级分类呢,这样写显然是不现实的。
//那又有什么办法解决呢?我们可以写一个递归的函数,把f_id作为参数传入,
不断循环每一个f_id的值,也就是说把每一个f_id值的子类循环出来。
//首先我们把各个分类的值保存在一个二维数组中,在下面的递归函数里有用。
代码如下 | 复制代码 |
$result=$db->query("select * from class"); while($row=$result->fetch_assoc()){ $arr[]=array($row[id],$row[f_id],$row[name]); //每一行保存一个 } function fenlei($f_id=0){ //$f_id初始化为0,也就是从最大分类开始循环. global $arr; //声明$arr为全局变量才可在函数里引用。 for($i=0;$i< count($arr);$i++){ //对每个分类进行循环。 if($arr[$i][1]==$f_id){ //$arr[$i][1]表示第$i+1个分类的f_id的值。 echo $arr[$i][2]."< br>"; //$arr[$i][1]表示第$i+1个分类的name的值。 fenlei($arr[$i][0]); //$arr[$i][1]表示第$i+1个分类的id的值。进行递归 } } } fenlei(); //使用这个函数. |
?>
例3
php无限分类, 支持输出树状图
代码如下 | 复制代码 |
<?php /** /** /** /** /** /**
$select>$spacer$name</option>" ("$nstr = "$str";"); $selected = $this->have($sid,$id) ? 'selected' : ''; function have($list,$item){ |
注:无平台限制,只需要告知id,parentid,name 即可
上面总结了三种无限分类代码都没有平台限制哦,不过只能使用在php中,我们只要搞清楚id,parentid,name三者的关
系即可。
生成二维码程序在网上可以找到很多我们发现像google,还有一些国外站都提供了免费生成二维码的插件或api了,下面我来给大家介绍几种。最简单最实例的goolge开源方法
1.google开放api
例
代码如下 | 复制代码 |
$urlToEncode="http://gz.altmi.com"; chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$chl.'" alt="QR code" widhtHeight="'.$size.'" widhtHeight="'.$size.'"/>'; |
上面的方法简单快速,只要几句话即可,不足之处是调用了google服务器东西,如果google不提供服务了我们就无法
成了,下面再看
2.php类库PHP QR Code
地址:http://phpqrcode.sourceforge.net/
下载:http://sourceforge.net/projects/phpqrcode/
例
代码如下 | 复制代码 |
<?php |
这个还不错保存在自己服务器,现在还有一些如有:libqrencode与QRcode Perl CGI & PHP scripts二维码生成插件大
家喜欢也可看看。
要删除目录我们必须先删除目录中的文件才行,在php中删除文件很简单unlink(),删除空目录使用rmdir即可。例1
代码如下 | 复制代码 |
function del_dir($dir){ if (($file == '.') || ($file == '..')) { continue; } if (file_exists( $cacheDir .'/'.$file)) { //删除完操作 |
例2
代码如下 | 复制代码 |
<? ?> |
例3
代码如下 | 复制代码 |
function removeDir($dirName) |
例4
删除几天前创建的目录
代码如下 | 复制代码 |
<?php |
2,安装(windows only)
到官网下载对应的包
解压到d:mongodb
创建d:mongodbdata放置数据文件
3,运行mongodb
d:mongodbbin下有一些可执行文件,其中mongod.exe是服务器端,mongo.exe是客户端。
运行cmd,输入
d:mongodbbin>mongod.exe -dbpath d:mongodbdata
服务器成功启动
4,让php支持MongoDB
下载php_mongo.dll,注意版本,php5.3.x应该支持v9的(有些老资料让apache的下v6,其实要看看phpinfo后下载对应的版本);
修改php.ini,增加 extension = php_mongo.dll;
重启apache.
代码如下 | 复制代码 |
<?php //************************* //格式=>("mongodb://用户名:密码@地址:端口/默认指定数据库",参数)
//************************* $db=$conn->mydb; #选择mydb数据库 $collection=$db->column; #选择集合(选择'表') //注意:
//**向集合中插入数据,返回bool判断是否插入成功. **/ //**向集合中安全插入数据,返回插入状态(数组). **/ //**以下两次插入的为同一条记录(相同的_id),因为它们的值相同**/
//** 修改更新 **/ //** 替换更新 **/ //** 批量更新 **/ //** 自动累加 **/ //** 匹配到就更新,否则新增 **/ /** 删除节点 **/ /** 附加新数据到节点 **/ /** 判断更新 **/ /** 删除某数组节点的最后一个元素 **/ /** 删除某数组节点的第一个元素 **/ /** 删除某数组节点的元素 **/ # 注意: /** 删除 **/
/** 查询文档中的记录数 **/ /** /** 集合中所有文档 **/ /** 查询一条数据 **/ /** age,type 列不显示 **/ /** 只显示user 列 **/ /** (存在type,age节点) and age!=0 and age<50 **/ /** 分页获取结果集 **/ /** 排序 **/ /** 创建索引 **/ /** 取得查询结果 **/ |