Rumah >pembangunan bahagian belakang >tutorial php >Terangkan secara ringkas cara PHP menyambung ke antara muka teg imej Baidu

Terangkan secara ringkas cara PHP menyambung ke antara muka teg imej Baidu

WBOY
WBOYasal
2023-08-16 19:17:071211semak imbas

Terangkan secara ringkas cara PHP menyambung ke antara muka teg imej Baidu

PHP ialah bahasa skrip sebelah pelayan yang popular yang digunakan secara meluas dalam bidang pembangunan web. Satu senario aplikasi biasa ialah antara muka dengan API pihak ketiga untuk melaksanakan fungsi pengecaman tag imej. Artikel ini akan menerangkan secara ringkas cara menggunakan PHP untuk menyambung ke antara muka teg imej Baidu dan melampirkan contoh kod yang sepadan.

Pertama, kami perlu memohon dan mendapatkan Kunci API dan Kunci Rahsia yang sepadan pada Platform Pembangun Baidu untuk pengesahan identiti dan kebenaran akses.

Seterusnya, dalam PHP, kita boleh menggunakan perpustakaan CURL untuk membuat permintaan HTTP. Pertama, kita perlu memulakan sesi CURL dan menetapkan sifat berkaitan.

$url = 'https://aip.baidubce.com/oauth/2.0/token';  // 获取access_token的URL

$data = array(
    'grant_type' => 'client_credentials',
    'client_id' => 'Your API Key',
    'client_secret' => 'Your Secret Key'
);

$options = array(
    CURLOPT_URL => $url,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => http_build_query($data),
    CURLOPT_RETURNTRANSFER => true,
);

$curl = curl_init();
curl_setopt_array($curl, $options);

Dalam kod di atas, kami terlebih dahulu menentukan URL untuk mendapatkan access_token. Kemudian, tatasusunan $data bersekutu yang mengandungi parameter yang diperlukan ditakrifkan, termasuk grant_type, client_id dan client_secret. Seterusnya, kami mentakrifkan tatasusunan $options untuk mengkonfigurasi sesi CURL dengan menetapkan pilihan seperti CURLOPT_URL, CURLOPT_POST, CURLOPT_POSTFIELDS dan CURLOPT_RETURNTRANSFER. Akhir sekali, gunakan fungsi curl_init() untuk memulakan sesi CURL dan gunakan fungsi curl_setopt_array() untuk menetapkan pilihan CURL.

Seterusnya, kami menghantar permintaan HTTP POST dan mendapatkan access_token yang dikembalikan.

$response = curl_exec($curl);
curl_close($curl);

$result = json_decode($response, true);  // 将返回数据解码为关联数组
$access_token = $result['access_token'];  // 获取access_token

Dalam kod di atas, kami menggunakan fungsi curl_exec() untuk menghantar permintaan HTTP dan fungsi curl_close() untuk menutup sesi CURL. Kemudian, gunakan fungsi json_decode() untuk menyahkod data JSON yang dikembalikan ke dalam tatasusunan bersekutu. Akhir sekali, access_token diperolehi melalui tatasusunan bersekutu dan disimpan dalam pembolehubah $access_token.

Seterusnya, kita boleh menggunakan access_token yang diperolehi untuk memanggil antara muka tag imej Baidu dan melaksanakan fungsi pengecaman tag imej.

$url = 'https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general';

$image = file_get_contents('path/to/your/image.jpg');  // 读取图像文件内容

$data = array(
    'image' => base64_encode($image),
);

$headers = array(
    'Content-Type: application/x-www-form-urlencoded',
    'Authorization: Bearer ' . $access_token,
);

$options = array(
    CURLOPT_URL => $url,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => http_build_query($data),
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_RETURNTRANSFER => true,
);

$curl = curl_init();
curl_setopt_array($curl, $options);

$response = curl_exec($curl);
curl_close($curl);

$result = json_decode($response, true);  // 将返回数据解码为关联数组

print_r($result);  // 输出返回结果

Dalam kod di atas, kami mula-mula menentukan URL yang memanggil antara muka tag imej. Kemudian, gunakan fungsi file_get_contents() untuk membaca kandungan fail imej dan mengekod kandungan menggunakan fungsi base64_encode(). Seterusnya, kami mentakrifkan tatasusunan $data bersekutu yang mengandungi parameter imej dan menyimpan data imej yang dikodkan pada parameter imej.

Kemudian, kami mentakrifkan tatasusunan $headers, yang mengandungi pengepala Jenis Kandungan dan pengepala Kebenaran permintaan HTTP, dengan nilai pengepala Kebenaran ialah 'Pembawa' ditambah access_token.

Seterusnya, kami mentakrifkan tatasusunan $options untuk mengkonfigurasi sesi CURL dengan menetapkan pilihan seperti CURLOPT_URL, CURLOPT_POST, CURLOPT_POSTFIEDS, CURLOPT_HTTPHEADER dan CURLOPT_RETURNTRANSFER. Akhir sekali, gunakan fungsi curl_exec() untuk menghantar permintaan HTTP dan fungsi curl_close() untuk menutup sesi CURL.

Akhir sekali, kami menggunakan fungsi json_decode() untuk menyahkod data JSON yang dikembalikan ke dalam tatasusunan bersekutu dan mengeluarkan hasil pulangan melalui fungsi print_r().

Melalui langkah di atas, kami telah melengkapkan dok antara muka teg imej Baidu. Dengan cara ini, kami boleh menggunakan PHP untuk melaksanakan fungsi pengecaman tag imej dan menambah beberapa fungsi pintar pada aplikasi kami.

Di atas ialah artikel ringkas yang menerangkan cara menggunakan PHP untuk menyambung ke antara muka teg imej Baidu. Saya harap ia akan membantu semua orang untuk memahami dan menggunakan antara muka PHP dan teg imej.

Atas ialah kandungan terperinci Terangkan secara ringkas cara PHP menyambung ke antara muka teg imej Baidu. 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