Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mencapai perbandingan muka dalam php

Bagaimana untuk mencapai perbandingan muka dalam php

藏色散人
藏色散人asal
2022-10-18 16:05:292151semak imbas

Cara melaksanakan perbandingan muka dalam PHP: 1. Buat fail contoh PHP; function base64EncodeImage( ){...}" dan kaedah "function request(){...}" boleh digunakan untuk melaksanakan permintaan rangkaian dan perbandingan imej.

Bagaimana untuk mencapai perbandingan muka dalam php

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3

Bagaimanakah php mencapai muka perbandingan?

Perbandingan muka-versi PHP

Alamat pertanyaan antara muka perbandingan muka: https://www.juhe.cn/docs/api/id/264?s=cpphpcn

Digunakan untuk membandingkan gambar yang dimuat naik dengan identiti sebenar dalam perpustakaan Bandingkan dengan foto ID.

Kod PHP adalah seperti berikut:

<?php

$url = "http://apis.juhe.cn/verifyface/verify";//接口地址
$key = "******************";//密钥
$idcard = "******************";//身份证
$realname = "***";//姓名
$image_path = "E:/ocr/cc.jpg";//图片地址
$image = base64EncodeImage($image_path);//图片转base64
$params = compact([&#39;key&#39;, &#39;idcard&#39;, &#39;realname&#39;, &#39;image&#39;]);//组合参数
$result = request($url, $params, &#39;post&#39;);//请求
var_dump($result);//结果

//图片base64
function base64EncodeImage($img_file)
{
    $app_img_file = $img_file; // 图片路径
    $fp = fopen($app_img_file, "r"); // 图片是否可读权限
    $image_data = fread($fp, filesize($app_img_file));
    $base64_image = base64_encode($image_data);
    fclose($fp);
    return $base64_image;
}

/**网络请求
 * @param string $url 地址
 * @param array $params 参数
 * @param string $method 请求方法
 * @param array $headers 请求头
 * @return array
 */
function request($url, $params = array(), $method = "get", $headers = array())
{
    if (strtolower($method) != "post") {
        $method = "get";
    }
    if ($params) {
        if (is_array($params)) {
            $paramsString = http_build_query($params);
        } else {
            $paramsString = $params;
        }
    } else {
        $paramsString = "";
    }
    if ($method == "get" && !empty($paramsString)) {
        $url = $url . "?" . $paramsString;
    }
    // 初始化
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    if (strtolower(substr($url, 0, 8)) == &#39;https://&#39;) {
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // 从证书中检查SSL加密算法是否存在
    }

    // 请求头
    if (!empty($headers)) {
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    }

    // 指定post方式
    if ($method == "post") {
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $paramsString);
    }
    curl_setopt($ch, CURLOPT_URL, $url);

    // 请求网络
    $httpContent = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    // 关闭
    curl_close($ch);

    return array(
        &#39;httpCode&#39; => $httpCode, // http状态码
        &#39;content&#39; => $httpContent, // 网络返回内容
    );
}

Nota antara muka: Hantar gambar muka mengikut format dan bandingkan dengan gambar dalam Pustaka kad ID, dan mengembalikan hasil yang serupa Skor Ijazah, imej muka berada dalam lingkungan 100K, dalam format jpeg dan piksel sisi terpanjang ialah 800pi.

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk mencapai perbandingan muka dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn