标签 PHP 下的文章

JS - 转义

<script>
var func = "<a href='?uuid=&quot;" + <?php echo $uuid;?> + "&quot;' onclick='if(confirm(&quot;确认要删除吗?&quot;)) return true;else return false;'>删除</a>";
</script>

PHP - 验证身份证

/**
 * 验证18位身份证
 * @param string $id 身份证
 * @return bool
 */
public function check_identity($id='')
{
    $set = array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);
    $ver = array('1','0','x','9','8','7','6','5','4','3','2');
    $arr = str_split($id);
    $sum = 0;
    for ($i = 0; $i < 17; $i++)
    {
        if (!is_numeric($arr[$i]))
        {
            return false;
        }
        $sum += $arr[$i] * $set[$i];
    }
    $mod = $sum % 11;
    if (strcasecmp($ver[$mod],$arr[17]) != 0)
    {
        return false;
    }
    return true;
}

PHP - 文件上传

private function upload($_FILES)
{
    $file = array();
    if (!empty($_FILES['name'])) {
        $file_name = $_FILES['name'];
        $file_type = $_FILES['type'];
        $file_tmp_name = $_FILES['tmp_name'];
        $file_error = $_FILES['error'];
        $size = $_FILES['size'];
        //
        $allowSub = array('.jpg', '.gif', '.jpeg', '.png');
        $fileSub = strtolower(strrchr($file_name, '.'));
        //文件大小于5M
        if ($size > 5242880){
            $file['error'] = "上传文件过大,请上传小于5M的文件";
            return $file;
        }
        if (!in_array($fileSub, $allowSub)) {
            $file['error'] = "请上传JPG,GIF,PNG格式的图片";
            return $file;
        }
        //
        $allowMine = array('image/png', 'image/jpg', 'image/gif', 'image/jpeg', 'image/pjpeg');
        if (!in_array($file_type, $allowMine)) {
            $file['error'] = "文件格式错误".$file_type;
            return $file;
        }
        //
        $file_path = ROOT.'upload/smrz/';
        if (!file_exists($file_path)) {
            mkdir($file_path, 0777);
        } else {
            if (!is_writable($file_path)) {
                chmod($file_path, 0777);
            }
        }
        $file_new_path = date('Ymd').'_'.uniqid().$fileSub;
        if (!$file_error) {
            if (is_uploaded_file($file_tmp_name)) {
                if (move_uploaded_file($file_tmp_name, $file_path.$file_new_path)) {
                    $file['name'] = $file_new_path;
                    return $file;
                }
            }
        } else {
            switch ($file_error) {
                case 1:
                    $file['error'] = '上传文件过大,请上传小于5M的文件';
                    break;
                case 2:
                    $file['error'] = '上传文件过大,请上传小于5M的文件';
                    break;
                case 3:
                    $file['error'] = '文件只有部分上传。';
                    break;
                case 4:
                    $file['error'] = '没有文件上传';
                    break;
                case 6:
                    $file['error'] = '找不到临时文件';
                    break;
                case 7:
                    $file['error'] = '文件写入失败';
                    break;
            }
            return $file;
        }
    } else {
        $file['error'] = '没有发现上传文件';
        return $file;
}

阅读全文

PHP - 获取当前 IP

public function nowip()
{
    if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
        $ip = getenv("HTTP_CLIENT_IP");
    else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
        $ip = getenv("HTTP_X_FORWARDED_FOR");
    else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
        $ip = getenv("REMOTE_ADDR");
    else if (isset($_SERVER ['REMOTE_ADDR']) && $_SERVER ['REMOTE_ADDR'] && strcasecmp($_SERVER ['REMOTE_ADDR'], "unknown"))
        $ip = $_SERVER ['REMOTE_ADDR'];
    else
        $ip = "unknown";
    return ($ip);
}

PHP - 用户名、邮箱、手机账号中间字符串以*隐藏

public function hideStar($str)
{
    if (strpos($str, '@')) {
        $email_array = explode("@", $str);
        $prevfix = (strlen($email_array[0]) < 4) ? "" : substr($str, 0, 3); //邮箱前缀
        $count = 0;
        $str = preg_replace('/([\d\w+_-]{0,100})@/', '***@', $str, -1, $count);
        $rs = $prevfix . $str;
    } else {
        $pattern = '/(1[3458]{1}[0-9])[0-9]{4}([0-9]{4})/i';
        if (preg_match($pattern, $str)) {
            $rs = preg_replace($pattern, '$1****$2', $str);
        } else {
            $rs = substr($str, 0, 3) . "***" . substr($str, -1);
        }
    }
    return $rs;
}

PHP - 传真格式判断

if(!preg_match("/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/", $fax)) {
    exit(json_encode(array('code' => -1, 'info' => "传真格式错误")));
}

PHP - AJAX - 省市区三级联动

php

public function indexAction() {
    //获取父级代号pid
    $pid = $this->getParam('pcode');
    //数据查询
    $areaModel = new Model_Area();
    $fields = "*";
    $whereArr[] = array('pid', $pid);
    $areadetail = $areaModel->getArea($fields, $whereArr);
    //var_dump($areadetail);
    echo json_encode($areadetail);
}

阅读全文

PHP - 钉钉 - 扫码 - 获取信息

引入 js

<script type="text/javascript" src="//g.alicdn.com/dingding/open-develop/0.8.4/dingtalk.js"></script>

内部代码如下,作用是实现二维码的展现。

<script>
        !function (window, document) {
            function d(a) {
                var e, c = document.createElement("iframe"),
                    d = "https://login.dingtalk.com/login/qrcode.htm?goto=" + a.goto ;
                //console.log(d);
                    d += a.style ? "&style=" + encodeURIComponent(a.style) : "",
                    d += a.href ? "&href=" + a.href : "",
                    c.src = d,
                    c.frameBorder = "0",
                    c.allowTransparency = "true",
                    c.scrolling = "no",
                    c.width =  a.width ? a.width + 'px' : "365px",
                    c.height = a.height ? a.height + 'px' : "400px",
                    e = document.getElementById(a.id),
                    e.innerHTML = "",
                    e.appendChild(c)
            }
            window.DDLogin = d
        }(window, document);
    </script>

阅读全文

json - array - stdClass - 相互转化

将 json 转为 array

$userinfo = json_decode($userinfo, true);

将 json 的 stdClass Object 转为 array

$count = json_decode(json_encode($count), true);

遍历 json 的 stdClass Object

foreach($simplelist as $obj){
    echo "姓名:".$obj->name."&nbsp;uerid:".$obj->userid."<br/>";
}