php检查验证IP为有效IP地址函数
判断是否是合法IP
代码如下 | 复制代码 |
if(filter_var($ip, FILTER_VALIDATE_IP)) {// it's valid }else {// it's not valid } |
判断是否是合法的IPv4 IP地址
代码如下 | 复制代码 |
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {// it's valid }else {// it's not valid } |
判断是否是合法的公共IPv4地址,192.168.1.1这类的私有IP地址将会排除在外
代码如下 | 复制代码 |
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE)) {// it's valid }else {// it's not valid } |
判断是否是合法的IPv6地址
代码如下 | 复制代码 |
|
判断是否是public IPv4 IP或者是合法的Public IPv6 IP地址
代码如下 | 复制代码 |
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {// it's valid |
如果你的php版本过低可以上面的函数都无法使用但我们可以使用正则表达试来验证
代码如下 | 复制代码 |
//判断IP格式 |
mt_rand函数
例子
在本例中,我们会返回一些随机数:
代码如下 | 复制代码 |
<?php 3150906288 |
下面我们来看看mt_rand函数的实例吧。
代码如下 | 复制代码 |
function roll () { echo roll(); function roll ($sides) { } |
上面都只能生成简单的纯数字,不能是字母或数字与字母的,下面我们需用到自定义函数了
代码如下 | 复制代码 |
<?php $charsLen = count($chars) - 1; shuffle($chars); // 将数组打乱 $str = genRandomString(25); echo $str;
|
例
默认生成的随机字符串长度为5,生成的字符串包含:数字+大写字母
函数功能:
1、生成指定长度的随机字符串
2、灵活选择生成的随机字符串的复杂度
代码如下 | 复制代码 |
/** |
例
1、预置一个的字符数组 $chars ,包括 a – z,A – Z,0 – 9,以及一些特殊字符
2、通过array_rand()从数组 $chars 中随机选出 $length 个元素
3、根据已获取的键名数组 $keys,从数组 $chars 取出字符拼接字符串。该方法的缺点是相同的字符不会重复取。
代码如下 | 复制代码 |
function make_password( $length = 8 ) // 在 $chars 中随机取 $length 个数组元素键名 $password = ''; return $password; |
方法如下:
代码如下 | 复制代码 |
$arr = array(…………) ;// 假设有数组包含一万个元素,里面有重复的元素。 |
究竟是怎么回事呢?来看下array_flip()的作用:array_flip()用于将一个数组的每个元素的键和值交换,如:
代码如下 | 复制代码 |
|
在PHP数组中,允许不同的元素可以取同一个值,但不允许同一个键名被不同的元素使用,如:
代码如下 | 复制代码 |
|
这里 $arr1与$arr2 是相等的。
于是,我们便可以知道,为什么 array_flip(array_flip($arr)) 可以删除数组中重复的元素了。首先,$arr里的值会变成键名,因为值是有重复的,变成键名之后这些重复的值便成了重复的键名,PHP 引擎将重复的键名删除,只保留最后一个。如:
代码如下 | 复制代码 |
$arr1 = array("age" => 30, "name" => '快乐园', "age" => 20); |
上面的代码写得简洁一些就是: $arr1 = array_flip(array_flip($arr1));
一些自定的函数
//删除数组中重复元素的函数
代码如下 | 复制代码 |
function delmember(&$array, $id) { $size = count($array); for($i = 0; $i <$size - $id - 1; $i ++) { $array[$id + $i] = $array[$id + $i + 1]; } unset($array[$size - 1]); } |
//使用例子:
代码如下 | 复制代码 |
$output = array(1, 2, 2, 'www.111cn.net', 5, 4, 4, 4, 2, 7, 5, 9, 10); function uniquearray($array) { // get unique elts as keys in assoc. array for ($i=0,$n=count($array, 1);$i<$n;$i ) $u_array[$array[$i]] = 1;
// copy keys only into another array reset($u_array, 1); for ($i=0,$n=count($u_array, 1);$i<$n;$i ) { $unduplicated_array[] = key($u_array, 1); next($u_array, 1); } return $unduplicated_array; } |
CURL是一个非常实用的PHP扩展,模拟用户登录时经常需要存取COOKIE信息,而使用COOKIEJAR和COOKIEFILE会产生两次或两次以上的I/O操作,性能效率自不必说,在第三方云应用平台(BAE SAE等),有时还需要操作STORAGE来实现存取COOKIE,比较麻烦,今天介绍一个CURL不使用文件存取COOKIE的方法:
COOKIEJAR/COOKIEFILE方式:
代码如下 | 复制代码 |
/*-----保存COOKIE-----*/ /*-----使用COOKIE-----*/ |
新方式(无I/O操作):
代码如下 | 复制代码 |
/*-----使用COOKIE-----*/ /*-----保存COOKIE-----*/ /*-----使用COOKIE-----*/ |
例如:
代码如下 | 复制代码 |
$ch = curl_init (); curl_exec($ch); $httpCode = curl_getinfo($ch,CURLINFO_HTTP_CODE); |
另外curl_getinfo还可以获取很多其他信息
相关文章
- eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
- 在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
Python astype(np.float)函数使用方法解析
这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08- 这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
- 本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
- 下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
- CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
- 这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
Android开发中findViewById()函数用法与简化
findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20- strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07- Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
Django def clean()函数对表单中的数据进行验证操作
这篇文章主要介绍了Django def clean()函数对表单中的数据进行验证操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-09- free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
- PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31
- 分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand(...2015-10-30
- 这篇文章主要为大家详细介绍了JavaScript实现密码框输入验证,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-10-01
SQL Server中row_number函数的常见用法示例详解
这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08- 这篇文章主要介绍了Nest.js 授权验证的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-22
- 这篇文章主要介绍了el-table树形表格表单验证(列表生成序号),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-01