php版本证件识别

<?php
//如果你是win系统并且在D盘有个tt.jpg图片,可以使用下一行代码
//echo (upload('D:/tt.jpg','image/jpeg'));

//如果是win系统并且使用相对路径,可以写成下面的(此时代码和图片放在同一目录)
//echo (upload(str_replace('\\','/',realpath('cc.jpg')),'image/jpeg'));

//如果图片是用户是用户,此程序作为服务端上传的,假如用户上传的图书名是pic,你可以用下面的方式操作
// echo (upload(makePostData($_FILES['pic']['tmp_name'], 'image/jpeg')));
// echo realpath('./cc.jpg');
// echo '</br>';
//如果是linux环境,则直接写上图片地址就可以了
echo upload(makePostData('/data/www/nginx/v.juhe.cn/wzdj/cc.jpg', 'image/jpeg'));

function makePostData($filePath, $picType)
{
    if (!function_exists('curl_file_create')) {
        function curl_file_create($fileName, $mimeType = '', $postName = '')
        {
            return "@$fileName;filename=".($postName ?: basename($fileName)).($mimeType ? ";type=$mimeType" : '');
        }
    }
    $cFile = curl_file_create($filePath, $picType, md5(date('Y-m-d H:i:s')).'.jpg');
    return [
        'key' => '换成您自己的key',
        'cardType' => '2',//2表示身份证正面,一定要看清楚你的图片到底是什么类型的图片
        'pic' => $cFile,
    ];
}

function upload($postData)
{
    $httpInfo = [];
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://v.juhe.cn/certificates/query.php');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果成功,只将结果返回,不自动输出任何内容,如果失败返回false
    //设置为post请求类型
    curl_setopt($ch, CURLOPT_POST, 1);
    //设置具体的post数据
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
    $response = curl_exec($ch);
    if ($response === false) {
        //如果提示你上传图片太小等,可以打印出$cFile这个变量看看具体图片信息
        //一般因为路径引起的错误都会提示:couldn't open file "cc.jpg"
        echo 'cURL Error: '.curl_error($ch);
        return false;
    }
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    if ($httpCode != 200) {
        echo '服务器状态码:'.$httpCode;
    }
    $httpInfo = array_merge($httpInfo, curl_getinfo($ch));
    curl_close($ch);
    return $response;
}


登录 后可发表评论

    最新发布
    聚合数据©版权所有