Sample.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace app\controller;
  3. class Sample
  4. {
  5. const API_KEY = "6Yijgt5TOXGJ9cxzO3OIx57N";
  6. const SECRET_KEY = "WgK9ICW5e10mGist2qRlk1comF5YBPhY";
  7. public function run($filePath)
  8. {
  9. //10.jpg 18.png w1.jpeg w2.jpeg w3.png w66.jpeg w77.png w222.jpeg WechatIMG6.jpeg
  10. $image = file_get_contents($filePath);///
  11. $image = base64_encode($image);
  12. $curl = curl_init();
  13. curl_setopt_array($curl, array(
  14. CURLOPT_URL => "https://aip.baidubce.com/rest/2.0/ocr/v1/medical_report_detection?access_token={$this->getAccessToken()}",
  15. CURLOPT_TIMEOUT => 30,
  16. CURLOPT_RETURNTRANSFER => true,
  17. CURLOPT_SSL_VERIFYPEER => false,
  18. CURLOPT_SSL_VERIFYHOST => false,
  19. CURLOPT_CUSTOMREQUEST => 'POST',
  20. CURLOPT_POSTFIELDS => http_build_query(array(
  21. 'location' => 'false',
  22. 'probability' => 'false',
  23. 'image' => $image
  24. )),
  25. CURLOPT_HTTPHEADER => array(
  26. 'Content-Type: application/x-www-form-urlencoded',
  27. 'Accept: application/json'
  28. ),
  29. ));
  30. $response = curl_exec($curl);
  31. curl_close($curl);
  32. return $response;
  33. }
  34. /**
  35. * 使用 AK,SK 生成鉴权签名(Access Token)
  36. * @return string 鉴权签名信息(Access Token)
  37. */
  38. private function getAccessToken()
  39. {
  40. $curl = curl_init();
  41. $postData = array(
  42. 'grant_type' => 'client_credentials',
  43. 'client_id' => self::API_KEY,
  44. 'client_secret' => self::SECRET_KEY
  45. );
  46. curl_setopt_array($curl, array(
  47. CURLOPT_URL => 'https://aip.baidubce.com/oauth/2.0/token',
  48. CURLOPT_CUSTOMREQUEST => 'POST',
  49. CURLOPT_SSL_VERIFYPEER => false,
  50. CURLOPT_SSL_VERIFYHOST => false,
  51. CURLOPT_RETURNTRANSFER => true,
  52. CURLOPT_POSTFIELDS => http_build_query($postData)
  53. ));
  54. $response = curl_exec($curl);
  55. curl_close($curl);
  56. $rtn = json_decode($response);
  57. return $rtn->access_token;
  58. }
  59. }