PHP获取随机数的方法
本文实例讲述了PHP简单获取随机数的常用方法。分享给大家供大家参考,具体如下:
1.直接获取从min-max的数,例如1-20:
代码如下 | 复制代码 |
$randnum= mt_rand(1, 20); |
2.在一个数组里面随机选择一个(验证码的时候需要字母、数字混合的情况)
代码如下 | 复制代码 |
functionrandUid(){ $str="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20";//要显示的字符,可自己进行增删 $list=explode(",",$str); $cmax=count($list) - 1; $randnum= mt_rand(0,$cmax); $uid=$list[$randnum]; } |
希望本文所述对大家PHP程序设计有所帮助。
数据表之间是纵横交叉、相互关联的,laravel的一对一,一对多比较好理解,本文重点通过实例给大家讲解 laravel中的多对多关系,感兴趣的朋友一起看看吧数据表之间是纵横交叉、相互关联的,laravel的一对一,一对多比较好理解,官网介绍滴很详细了,在此我就不赘述啦,重点我记下多对多的关系
一种常见的关联关系是多对多,即表A的某条记录通过中间表C与表B的多条记录关联,反之亦然。比如一个用户有多种角色,反之一个角色对应多个用户。
为了测试该关联关系,我们沿用官网的用户角色示例:
需要三张数据表:users、roles 和 role_user,role_user 表按照关联模型名的字母顺序命名(这里role_user是中间表),并且包含 user_id 和 role_id两个列。
多对多关联通过编写返回 belongsToMany 方法返回结果的方法来定义。废话不说多,直接上数据结构:
1:创建一个角色表roles,并添加一些初始化数据:
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structureforusers
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`email` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`password` varchar(60) COLLATE utf8_unicode_ci NOT NULL,
`remember_token` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`created_at` timestamp NOT NULL DEFAULT-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT-00-00 00:00:00',
PRIMARY KEY (`id`),
UNIQUE KEY `users_email_unique` (`email`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- ----------------------------
-- Records of users
-- ----------------------------
INSERT INTO `users` VALUES (Ƈ','admin','admin@163.com','$2y$10$J/yXqscucanrHAGZp9G6..Tu1Md.SOljX3M8WrHsUdrgat4zeSuhC','ilocXtjZJwhrmIdLG1cKOYegeCwQCkuyx1pYAOLuzY2PpScQFT5Ss7lBCi7i',-04-21 16:26:23',-12-14 09:29:59');
INSERT INTO `users` VALUES (ƈ','baidu',�@qq.com','$2y$10$2A5zJ4pnJ5uCp1DN3NX.5uj/Ap7P6O4nP2BaA55aFra8/rti1K6I2', null,-04-22 06:48:10',-04-22 06:48:10');
INSERT INTO `users` VALUES (Ɖ','fantasy',@qq.com','', null,-06-14 10:38:57',-06-15 10:39:01');
2:创建一个角色表roles,并添加一些初始化数据:
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structureforroles
-- ----------------------------
DROP TABLE IF EXISTS `roles`;
CREATE TABLE `roles` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`created_at` timestamp NOT NULL DEFAULT-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- ----------------------------
-- Records of roles
-- ----------------------------
INSERT INTO `roles` VALUES (Ƈ','超级版主',-04-21 16:26:23',-12-14 09:29:59');
INSERT INTO `roles` VALUES (ƈ','司令',-04-22 06:48:10',-04-22 06:48:10');
INSERT INTO `roles` VALUES (Ɖ','军长',-06-14 10:38:57',-06-15 10:39:01');
INSERT INTO `roles` VALUES (Ɗ','司长',-06-07 10:41:41',-06-15 10:41:51');
INSERT INTO `roles` VALUES (Ƌ','团战',-06-22 10:41:44',-06-28 10:41:54');
INSERT INTO `roles` VALUES (ƌ','小兵',-06-22 10:41:47',-06-22 10:41:56');
3:创建一个中间表role_user用于记录users表与roles表的对应关系,并添加一些初始化数据:
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structureforrole_user
-- ----------------------------
DROP TABLE IF EXISTS `role_user`;
CREATE TABLE `role_user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT NULL,
`role_id` int(11) DEFAULT NULL,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records of role_user
-- ----------------------------
INSERT INTO `role_user` VALUES (Ƈ',Ƈ',ƈ',-06-07 11:42:13',-06-21 11:32:16');
INSERT INTO `role_user` VALUES (ƈ',Ƈ',Ɖ',-06-07 11:32:13',-06-07 11:22:13');
INSERT INTO `role_user` VALUES (Ɖ',ƈ',Ɗ',-06-07 11:32:13',-06-07 11:12:13');
INSERT INTO `role_user` VALUES (Ɗ',Ƈ',Ƌ',-06-07 11:32:13',-06-07 11:22:13');
INSERT INTO `role_user` VALUES (Ƌ',Ɖ',ƌ',-06-07 11:32:13',-06-07 11:52:13');
INSERT INTO `role_user` VALUES (ƌ',Ɖ',ƈ',-06-07 11:32:13',-06-07 11:42:13');
INSERT INTO `role_user` VALUES (ƍ',ƈ',ƈ',-06-07 11:42:13',-06-07 11:52:13');
注意我们定义中间表的时候没有在结尾加s并且命名规则是按照字母表顺序,将role放在前面,user放在后面,并且用_分隔,这一切都是为了适应Eloquent模型关联的默认设置:在定义多对多关联的时候如果没有指定中间表,Eloquent默认的中间表使用这种规则拼接出来。
创建一个Role模型:
<?php
namespaceApp\Models;
useIlluminate\Database\Eloquent\Model;
/**
* Class Role
* @package App\Models
* @mixin \Eloquent
*/
classRoleextendsModel
{
}
然后我们在 User 模型上定义 roles 方法:
<?php
namespaceApp\Models;
useIlluminate\Database\Eloquent\Model;
/**
* Class User
* @package App\Models
* @mixin \Eloquent
*/
classUserextendsModel
{
/**
* 用户角色
*/
publicfunctionroles()
{
return$this->belongsToMany('App\Models\Role');
}
}
注:正如我们上面提到的,如果中间表不是role_user,那么需要将中间表作为第二个参数传入belongsToMany方法,如果中间表中的字段不是user_id和role_id,这里我们姑且将其命名为$user_id和$role_id,那么需要将$user_id作为第三个参数传入该方法,$role_id作为第四个参数传入该方法,如果关联方法名不是roles还可以将对应的关联方法名作为第五个参数传入该方法。
接下来我们在控制器中编写测试代码:
<?php
$user= User::find(1);
$roles=$user->roles;
echo'用户'.$user->name.'所拥有的角色:'
foreach($rolesas$role)
echo$role->name.' '//对应输出为:用户admin所拥有的角色:司令 军长 团战
当然,和所有其它关联关系类型一样,你可以调用roles 方法来添加条件约束到关联查询上:
User::find(1)->roles()->orderBy('name')->get();
正如前面所提到的,为了确定关联关系连接表的表名,Eloquent 以字母顺序连接两个关联模型的名字。不过,你可以重写这种约定 —— 通过传递第二个参数到 belongsToMany 方法:
return$this->belongsToMany('App\Models\Role','user_roles');
除了自定义连接表的表名,你还可以通过传递额外参数到 belongsToMany 方法来自定义该表中字段的列名。第三个参数是你定义关联关系模型的外键名称,第四个参数你要连接到的模型的外键名称:
return$this->belongsToMany('App\Models\Role','user_roles','user_id','role_id');
定义相对的关联关系
要定义与多对多关联相对的关联关系,只需在关联模型中调用一下 belongsToMany 方法即可。我们在 Role 模型中定义 users 方法:
<?php
namespaceApp\Models;
useIlluminate\Database\Eloquent\Model;
/**
* Class Role
* @package App\Models
* @mixin \Eloquent
*/
classRoleextendsModel
{
/**
* 角色用户
*/
publicfunctionusers()
{
return$this->belongsToMany('App\Models\User');
}
}
正如你所看到的,定义的关联关系和与其对应的User 中定义的一模一样,只是前者引用 App\Models\Role,后者引用App\Models\User,由于我们再次使用了 belongsToMany 方法,所有的常用表和键自定义选项在定义与多对多相对的关联关系时都是可用的。
测试代码如下:
$role= Role::find(2);
$users=$role->users;
echo'角色#'.$role->name.'下面的用户:'
foreach($usersas$user)
echo$user->name.' '//对应输出为:角色#司令下面的用户:admin fantasy baidu
正如你看到的,处理多对多关联要求一个中间表。Eloquent 提供了一些有用的方法来与这个中间表进行交互,例如,我们假设 User 对象有很多与之关联的 Role 对象,访问这些关联关系之后,我们可以使用这些模型上的pivot 属性访问中间表字段:
$roles= User::find(1)->roles;
foreach($rolesas$role)
echo$role->pivot->role_id.'
'//对应输出为:2 3 5
注意我们获取到的每一个 Role 模型都被自动赋上了 pivot 属性。该属性包含一个代表中间表的模型,并且可以像其它 Eloquent 模型一样使用。
默认情况下,只有模型主键才能用在 pivot 对象上,如果你的 pivot 表包含额外的属性,必须在定义关联关系时进行指定:
return$this->belongsToMany('App\Models\Role')->withPivot('column1','column2');
比如我们修改role_user表增加一个字段 username 数据如下:
修改模型User:
<?php
namespaceApp\Models;
useIlluminate\Database\Eloquent\Model;
/**
* Class User
* @package App\Models
* @mixin \Eloquent
*/
classUserextendsModel
{
/**
* 用户角色
*/
publicfunctionroles()
{
//return $this->belongsToMany('App\Models\Role');
return$this->belongsToMany('App\Models\Role')->withPivot('username');
}
}
测试代码如下:
$user= User::find(1);
foreach($user->rolesas$role)
echo$role->pivot->username;//对应输出为:马特马特2马特3
如果你想要你的 pivot 表自动包含created_at 和 updated_at 时间戳,在关联关系定义时使用 withTimestamps 方法:
return$this->belongsToMany('App\Models\Role')->withTimestamps();
通过中间表字段过滤关联关系
你还可以在定义关联关系的时候使用 wherePivot 和 wherePivotIn 方法过滤belongsToMany 返回的结果集:
return$this->belongsToMany('App\Models\Role')->withPivot('username')->wherePivot('username','马特2');
//return $this->belongsToMany('App\Models\Role')->wherePivotIn('role_id', [1, 2]);
测试代码如下:
$user= User::find(1);
print_r($user->roles->toArray());
以上对应输出:
Array
(
[0] => Array
(
[id] => 3
[name] => 军长
[created_at] => 2017-06-14 10:38:57
[updated_at] => 2017-06-15 10:39:01
[pivot] => Array
(
[user_id] => 1
[role_id] => 3
[username] => 马特2
)
)
)
如果你想要你的pivot表自动包含created_at和updated_at时间戳,在关联关系定义时使用withTimestamps方法:
return$this->belongsToMany('App\Models\Role')->withTimestamps();
以上所述是小编给大家介绍的PHP laravel中的多对多关系实例详解,希望对大家有所帮助。
本文介绍了php 截取GBK文档某个位置开始的n个字符方法,非常实用,有兴趣的同学可以参考一下本文cut.php:
代码如下 | 复制代码 |
#!/usr/bin/php <?php define('INPUT_FILE','t.txt'); define('OUTPUT_FILE','a.txt'); $pos= max(intval($argv[1]), 0); $len= max(intval($argv[2]), 0); $file_size=filesize(INPUT_FILE); if($pos>=$file_size)exit; $fp=fopen(INPUT_FILE,'rb'); $point= 0;//current byte position $string='' while(ftell($fp) <$file_size) { if($point>=$pos+$len)break;$byte=fread($fp, 1); //php version >= 5.4 $char= unpack('C',$byte)[1]; if($char<= 0x7f) { //single byte if($point>=$pos)$string.=$byte; $point+= 1; continue; }else{ //double bytes if($point>=$pos) { $string.=$byte.fread($fp, 1); }else{ fseek($fp, 1, SEEK_CUR); } $point+= 1; continue; } } fclose($fp); file_put_contents(OUTPUT_FILE,$string); ?> |
源文件t.txt内容:
dkei20王nnso
测试命令:
./cut.php 6 1
查看结果:
hexdump -C t.txt && hexdump -C a.txt
本文主要介绍了PHP获取真实客户端的真实IP(REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR)的方法,具有很好的参考价值。下面跟着小编一起来看下吧REMOTE_ADDR 是你的客户端跟你的服务器“握手”时候的IP。如果使用了“匿名代理”,REMOTE_ADDR将显示代理服务器的IP。
HTTP_CLIENT_IP 是代理服务器发送的HTTP头。如果是“超级匿名代理”,则返回none值。同样,REMOTE_ADDR也会被替换为这个代理服务器的IP。
$_SERVER['REMOTE_ADDR']; //访问端(有可能是用户,有可能是代理的)IP
$_SERVER['HTTP_CLIENT_IP']; //代理端的(有可能存在,可伪造)
$_SERVER['HTTP_X_FORWARDED_FOR']; //用户是在哪个IP使用的代理(有可能存在,也可以伪造)
三个值区别如下:
一、没有使用代理服务器的情况:
REMOTE_ADDR = 您的 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示
二、使用透明代理服务器的情况:Transparent Proxies
REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 您的真实 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。
三、使用普通匿名代理服务器的情况:Anonymous Proxies
REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 代理服务器 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
隐藏了您的真实IP,但是向访问对象透露了您是使用代理服务器访问他们的。
四、使用欺骗性代理服务器的情况:Distorting Proxies
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 随机的 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
告诉了访问对象您使用了代理服务器,但编造了一个虚假的随机IP代替您的真实IP欺骗它。
五、使用高匿名代理服务器的情况:High Anonymity Proxies (Elite proxies)
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示 ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。
完全用代理服务器的信息替代了您的所有信息,就象您就是完全使用那台代理服务器直接访问对象。
//获取用户IP $ip='' foreach(array('HTTP_CLIENT_IP','HTTP_X_FORWARDED_FOR','HTTP_FROM','REMOTE_ADDR')as$v) { if(isset($_SERVER[$v])) { if(! preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/',$_SERVER[$v])) { continue; } $ip=$_SERVER[$v]; } } uset($ip,$v); |
代码如下 | 复制代码 |
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type"content="text/html; charset=utf-8"/> <title>无标题文档</title> </head> <body> <h1>商品列表</h1> <table width="100%"border="1"cellpadding="0"cellspacing="0"> <tr> <td>水果代号</td> <td>水果名称</td> <td>水果价格</td> <td>水果产地</td> <td>水果库存</td> <td>操作</td> </tr> <?php session_start(); include("../fengzhuang/DBDA.class.php"); $db=newDBDA(); $sql="select * from fruit"; $arr=$db->Query($sql); foreach($arras$v) { echo"<tr> <td>{$v[0]}</td> <td>{$v[1]}</td> <td>{$v[2]}</td> <td>{$v[3]}</td> <td>{$v[4]}</td> <td><a href='add.php?ids={$v[0]}'>加入购物车</a></td> </tr>"; } ?> </table> <?php var_dump($_SESSION["gwc"]); ?> </body> </html> |
代码如下 | 复制代码 |
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type"content="text/html; charset=utf-8"/> <title>无标题文档</title> </head> <body> <h1>购物车详情</h1> <table width="100%"border="1"cellpadding="0"cellspacing="0"> <tr> <td>水果代号</td> <td>购买数量</td> <td>操作</td> </tr> <?php session_start(); $arr=array(); if(!empty($_SESSION["gwc"])) { $arr=$_SESSION["gwc"]; } foreach($arras$v) { echo"<tr> <td>{$v[0]}</td> <td>{$v[1]}</td> <td></td> </tr>"; } ?> </table> </body> </html> |
代码如下 | 复制代码 |
<?php session_start(); $ids=$_GET["ids"]; /*$arr = array( array("k001",10), array("k002",2), array("k003",5) );*/ //1.第一次点击添加购物车 //2.如果购物车中没有该商品 //3.如果购物车中有该商品 if(empty($_SESSION["gwc"])) { //1.第一次点击添加购物车 $arr=array( array($ids,1) ); $_SESSION["gwc"]=$arr; } else { //不是第一次点击 //判断购物车中是否存在该商品 $arr=$_SESSION["gwc"]; $chuxian= false; foreach($arras$v) { if($v[0]==$ids) { $chuxian= true; } } if($chuxian) { //3.如果购物车中有该商品 /*foreach($arr as $v) { if($v[0]==$ids) { $v[1] = $v[1]+1; } }*/ for($i=0;$i<count($arr);$i++) { if($arr[$i][0]==$ids) { $arr[$i][1]+=1; } } $_SESSION["gwc"] =$arr; } else { //2.如果购物车中没有该商品 $asg=array($ids,1); $arr[] =$asg; $_SESSION["gwc"] =$arr; } } header("location:main.php"); |
相关文章
- 下面本文章来给大家介绍在php中成员变量的一些对比了,文章举了四个例子在这例子中分别对不同成员变量进行测试与获取操作,下面一起来看看。 有如下4个代码示例,你认...2016-11-25
- php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
- php获取一个文件夹的mtime的程序了,这个就是时间问题了,对于这个问题我们来看小编整理的几个例子,具体的操作例子如下所示。 php很容易获取到一个文件夹的mtime,可以...2016-11-25
- 获取网站icon,常用最简单的方法就是通过website/favicon.ico来获取,不过由于很多网站都是在页面里面设置favicon,所以此方法很多情况都不可用。 更好的办法是通过google提供的服务来实现:http://www.google.com/s2/favi...2014-06-07
- 主要功能:获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 :$(window).width(); 获取页面的文档高度 $(document).height(); 获取页面的文档宽度 :$(document).width();...2015-10-21
- jquery中jquery.offset().top / left用于获取div距离窗口的距离,jquery.position().top / left 用于获取距离父级div的距离(必须是绝对定位的div)。 (1)先介绍jquery.offset().top / left css: 复制代码 代码如下: *{ mar...2013-10-13
- 1、先讲讲JQuery的概念,JQuery首先是由一个 America 的叫什么 John Resig的人创建的,后来又很多的JS高手也加入了这个团队。其实 JQuery是一个JavaScript的类库,这个类库集合了很多功能方法,利用类库你可以用简单的一些代...2014-05-31
- 这篇文章主要介绍了超简洁java实现双色球若干注随机号码生成(实例代码),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-04-02
- 这篇文章主要介绍了Java生成随机姓名、性别和年龄的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-01
- 这篇文章主要介绍了C#生成随机数功能,涉及C#数学运算与字符串操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了C#获取字符串后几位数的方法,实例分析了C#操作字符串的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 复制代码 代码如下:$nodes = @$xpath->query("//*[@id='main_pr']/img/@src");$prurl = $nodes->item(0)->nodeValue;...2013-10-04
- 如果是为了取到tagName后再进行判断,那直接用下面的代码会更方便: $(element).is('input') 如果是要取到标签用作到别的地方,可以使用一下代码: $(element)[0].tagName 或: $(element).get(0).tagName...2014-05-31
- 这篇文章主要介绍了C# 生成随机数的代码的相关资料,非常的简单实用,需要的朋友可以参考下...2020-06-25
- 本文为代码分享,也是在工作中看到一些“大牛”的代码,做做分享。 具体是这样的,如下一个二维数组,是从库中读取出来的。 代码清单: 复制代码 代码如下: $user = array( 0 => array( 'id' => 1, 'name' => '张三', 'ema...2014-06-07
- 现实中我们经常看到这样的说明,排名不分先后,按姓名首字母进行排序。这是中国人大多数使用的排序方法。那么在php程序中该如何操作呢?下面就分享一下在php程序中获取汉字拼音的首字母的方法,在网上搜到的大多数是有问题的...2015-10-23
- 这篇文章主要给大家介绍了关于C++随机点名生成器的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
- 本篇文章是对使用C#获取系统特殊文件夹路径的解决方法进行了详细的分析介绍,需要的朋友参考下...2020-06-25
- 网上也有很多类似的方法,不过都存在这样那样的不严谨的问题,本文就不一一分析了,这里只给出最正确的利用php 获取文件扩展名(文件后缀名)的方法。 function get_extension($filename){ return pathinfo($filename,PATHIN...2015-10-30
- 这篇文章主要介绍了基于JavaScript获取鼠标位置的各种方法 ,需要的朋友可以参考下...2015-12-18