~~~
<?php
/**
* =======================================
* Created by Zhihua_W.
* Author: Zhihua_W
* Date: 2016/12/1 0004
* Time: 下午 5:15
* Project: PHP开发小技巧
* Power: 两种方法实现获取随机字符串
* =======================================
*/
/**
* 方法一:获取随机字符串
* @param number $length 长度
* @param string $type 类型
* @param number $convert 转换大小写
* @return string 随机字符串
*/
function random($length = 6, $type = 'string', $convert = 0)
{
$config = array(
'number' => '1234567890',
'letter' => 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
'string' => 'abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ23456789',
'all' => 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'
);
if (!isset($config[$type]))
$type = 'string';
$string = $config[$type];
$code = '';
$strlen = strlen($string) - 1;
for ($i = 0; $i < $length; $i++) {
$code .= $string{mt_rand(0, $strlen)};
}
if (!empty($convert)) {
$code = ($convert > 0) ? strtoupper($code) : strtolower($code);
}
return $code;
}
/**
* 方法二:获取随机字符串
* @param int $randLength 长度
* @param int $addtime 是否加入当前时间戳
* @param int $includenumber 是否包含数字
* @return string
*/
function rand_str($randLength = 6, $addtime = 1, $includenumber = 0)
{
if ($includenumber) {
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHJKLMNPQEST123456789';
} else {
$chars = 'abcdefghijklmnopqrstuvwxyz';
}
$len = strlen($chars);
$randStr = '';
for ($i = 0; $i < $randLength; $i++) {
$randStr .= $chars[rand(0, $len - 1)];
}
$tokenvalue = $randStr;
if ($addtime) {
$tokenvalue = $randStr . time();
}
return $tokenvalue;
}
//其中也可以放多个参数
//random(4,'number');
//random(6,'letter',1);
echo random(10);
//方法二同样
echo rand_str(6);
?>
~~~
- 目录
- Array
- array_column()
- 数组和变量
- compact() 函数
- extract() 函数
- Url
- base64_encode — 使用 MIME base64 对数据进行编码
- 图像
- getimagesize()
- 随机数
- getrandmax
- mt_getrandmax
- mt_rand
- rand
- empty函数
- exec()函数
- 权限修改
- 可变函数
- 函数闭包
- 报警级别
- 持续函数
- 自定义
- 字符处理
- 中文首字母
- 随机字符串
- url函数
- parse_url_param
- 页面采集
- 简单采集
- Referer采集
- CURL
- 发送json数据
- Curl多线程
- 文件处理
- 递归删除
- 图片显示
- 类方法
- 保留字
- 检查类文件名称
- Cookie
- 数组
- 数学函数
- 第三方函数库
- 精度计算
- BC Math
- 计算执行时间
- 日期时间
- 时间戳
- header
- 调试函数
- get_class
- get_class_methods
- 数组函数
- array_intersect_key()
- 二维数组
- Base64编码
- URL安全
- 加密扩展
- Hash函数
- hash_file
- hash_hmac
- hash_algos
- 文件读写
- is_writable()
- file_put_contents()