PHP代码整理
php临时服务器
进入到对应目录下
命令行执行
php -S 127.0.0.1:8000
参数 -t 可以指定web根目录
参数 --ini 可以指定php配置文件
使用php缓冲获取输出数据到变量
//开始输出缓冲区
ob_start();
//数据数据操作-开始
echo '123456';
//数据数据操作-结束
//获取缓冲区的内容
$dumpData = ob_get_clean();
print_r($dumpData);
获取随机串
function getRandStr($length = 8)
{
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, strlen($characters) - 1)];
}
return $randomString;
}
AES加密解密
//AES加密
function AESencrypt($input, $aesKey)
{
$data = openssl_encrypt($input, 'AES-128-ECB', $aesKey, OPENSSL_RAW_DATA);
$data = base64_encode($data);
return $data;
}
//AES解密
function AESdecrypt($sStr, $aesKey)
{
$decrypted = openssl_decrypt(base64_decode($sStr), 'AES-128-ECB', $aesKey, OPENSSL_RAW_DATA);
return $decrypted;
}
封装的get请求
function vGet($url, $timeout = 5000)
{
if (!function_exists('curl_init')) {
return false;
}
if (substr($url, 0, 7) != 'http://' && substr($url, 0, 8) != 'https://') {
return false;
}
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_NOBODY, 0); // 显示返回的body区域内容
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($curl, CURLOPT_NOSIGNAL, 1); //注意,毫秒超时一定要设置这个
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT_MS, $timeout); //设置连接等待毫秒数
curl_setopt($curl, CURLOPT_TIMEOUT_MS, $timeout); //设置超时毫秒数
// curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); //修复56错误码
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); // 获取的信息以文件流的形式返回
$content = curl_exec($curl); //返回结果
curl_close($curl);
return $content;
}
封装的post请求
function vPost($url, $data, $timeout = 5000,$header=[])
{
if (!function_exists('curl_init')) {
return false;
}
if (substr($url, 0, 7) != 'http://' && substr($url, 0, 8) != 'https://') {
return false;
}
$headerArr = [];
foreach( $header as $n => $v ) {
$headerArr[] = $n.':'.$v;
}
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_NOBODY, 0); // 显示返回的body区域内容
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($curl, CURLOPT_NOSIGNAL, 1); //注意,毫秒超时一定要设置这个
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT_MS, $timeout); //设置连接等待毫秒数
curl_setopt($curl, CURLOPT_TIMEOUT_MS, $timeout); //设置超时毫秒数
if(count($headerArr)>0) {
curl_setopt($curl, CURLOPT_HTTPHEADER, $headerArr);//设置HTTP头
}
// curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); //修复56错误码
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); // 获取的信息以文件流的形式返回
$content = curl_exec($curl); //返回结果
curl_close($curl);
return $content;
}
php密码强度检测封装方法
//密码强度检测
public static function isPasswordSecureOne(&$errMsg = '', $password = '')
{
$errMsg = '';
if (preg_match("/\s/", $password)) {
$errMsg = '密码不能含有空格等空白符';
return false;
}
if (preg_match("/\(|\)|\[|\]|\{|\}/", $password)) {
$errMsg = '密码不能含有括号';
return false;
}
if (!preg_match('/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z0-9]+$)(?![a-z\W_]+$)(?![0-9\W_]+$)[a-zA-Z0-9\W_]{6,32}$/', $password)) {
$errMsg = '密码强度不小于6位不大于64位,至少包含字母、数字、大写字母、小写字母、特殊字符当中的三种';
return false;
}
return true; // 密码强度足够
}
php实现mysqlAES函数一直的加解密
//兼容mysqlaes的加密
function aesEncryptHex($data = '', $key = '')
{
$iv = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
$encrypted = openssl_encrypt($data, 'aes-128-cbc', $key, OPENSSL_RAW_DATA, $iv);
return bin2hex($encrypted);
}
//兼容mysqlaes的解密
function aesDecryptHex($data_hex = '', $key = '')
{
$encrypted = hex2bin($data_hex);
return openssl_decrypt($encrypted, 'aes-128-cbc', $key, OPENSSL_RAW_DATA, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");
}