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; // 密码强度足够
}
冀ICP备2021025979号-1