edit-icon download-icon

PHP SDK

最終更新日: Mar 13, 2020
  • AccessKey (AccessKey ID/AccessKey Secret) を取得します:リンク
  • エンドポイントを取得します:リンク

依存関係

PHP 5.3 以上

ダウンロード

ダウンロードアドレス:リンク

クライアントの作成

  1. chdir(dirname(__FILE__));
  2. require_once "../../../aliyun-php-sdk-core/Config.php";
  3. $product = "ImageSearch";
  4. $region = "<Region>"; // Instance region information, for example, cn-shanghai (Shanghai), ap-southeast-1 (Singapore).
  5. $accessKeyId = "<AccessKeyID>"; // Address: https://ak-console.aliyun.com
  6. $accessKeySecret = "<AccessKeySecret>";
  7. $instanceName = "<InstanceName>"; // Name of the image search instance that you have purchased, for example, imagesearchtest.t
  8. $domain = "imagesearch.".$region.".aliyuncs.com";
  9. $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
  10. DefaultProfile::addEndPoint($region, $region, $product, $domain);
  11. $client = new DefaultAcsClient($profile);

API の実行

画像の追加

商品画像検索インスタンスの場合、カテゴリ ID は必須ではありません。一般画像検索インスタンスの場合、カテゴリ ID は不要です。

  1. use ImageSearch\Request\V20180120\AddItemRequest;
  2. $req = new AddItemRequest();
  3. $req->setinstanceName($instanceName);
  4. $sampleFileName = "./1.jpg";
  5. $content = file_get_contents($sampleFileName);
  6. $req->setCateId("0");
  7. $req->setItemId("1234");
  8. $req->setCustContent("{\"key\":\"value\"}");
  9. $req->addPicture("cloth1", $content);
  10. if (!$req->buildPostContent()) {
  11. return ;
  12. }
  13. try {
  14. $response = $client->getAcsResponse($req);
  15. print_r($response);
  16. } catch(ServerException $e) {
  17. print "Error: " . $e->getErrorCode() . " Message: " . $e->getMessage() . "\n";
  18. } catch(ClientException $e) {
  19. print "Error: " . $e->getErrorCode() . " Message: " . $e->getMessage() . "\n";
  20. }

画像の検索

商品画像検索の場合、カテゴリ ID を指定できます。指定したカテゴリに属する商品にのみ検索が実行されます。カテゴリ ID を指定しないと、システムによってカテゴリが決定されます。一般画像検索の場合、カテゴリ ID は不要です。

  1. use ImageSearch\Request\V20180120\SearchItemRequest;
  2. $req = new SearchItemRequest();
  3. $req->setinstanceName($instanceName);
  4. $req->setNum(10);
  5. $req->setStart(0);
  6. // Read Image File
  7. $sampleFileName = "./1.jpg";
  8. $content = file_get_contents($sampleFileName);
  9. fclose($handle);
  10. $req->setSearchPicture($content);
  11. if (!$req->buildPostContent()) {
  12. return ;
  13. }
  14. try {
  15. $response = $client->getAcsResponse($req);
  16. print_r($response);
  17. } catch(ServerException $e) {
  18. print "Error: " . $e->getErrorCode() . " Message: " . $e->getMessage() . "\n";
  19. } catch(ClientException $e) {
  20. print "Error: " . $e->getErrorCode() . " Message: " . $e->getMessage() . "\n";
  21. }

画像の削除

  1. use ImageSearch\Request\V20180120\DeleteItemRequest;
  2. $req = new DeleteItemRequest();
  3. $req->setinstanceName($instanceName);
  4. $req->setItemId("1234");
  5. $req->addPicture("cloth1");
  6. if (!$req->buildPostContent()) {
  7. return ;
  8. }
  9. try {
  10. $response = $client->getAcsResponse($req);
  11. print_r($response);
  12. } catch(ServerException $e) {
  13. print "Error: " . $e->getErrorCode() . " Message: " . $e->getMessage() . "\n";
  14. } catch(ClientException $e) {
  15. print "Error: " . $e->getErrorCode() . " Message: " . $e->getMessage() . "\n";
  16. }