文档

PHP SDK

更新时间:

阿里云API调试工具OpenAPI Explore提供OpenAPI文档、API调试和SDK示例,帮助您快速入门API开发。本文介绍如何安装和快速使用智能媒体管理PHP SDK。

前提条件

安装SDK

重要

调用2020-09-30版本的API,需要使用2020-09-30版本的SDK。

使用智能媒体管理PHP SDK的操作步骤请参见快速入门

安装composer

  1. 下载安装脚本 composer-setup.php到当前目录。

    php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"

  2. 执行安装过程。

    php composer-setup.php

  3. 删除安装脚本。

    php -r "unlink('composer-setup.php');"

  4. 执行sudo mv composer.phar /usr/local/bin/composer全局安装,完成后会有composer.phar文件,运行php composer.phar就可以查看composer。

    image.png

安装IMM依赖

执行命令composer require alibabacloud/imm-20200930 4.4.0

使用方法

如下以在华东2(北京)地域中检测图片中的人脸及人脸信息为例介绍如何使用智能媒体管理PHP SDK。

  1. 创建demo.php文件并写入如下内容。

    说明

    复制使用如下示例代码时请将访问域名换成您的IMM项目所在Region的域名,并且IMM项目和OSS文件Region需要保持一致。

    <?php
    
    // This file is auto-generated, don't edit it. Thanks.
    namespace AlibabaCloud\SDK\Sample;
    
    use AlibabaCloud\SDK\Imm\V20200930\Imm;
    use \Exception;
    use AlibabaCloud\Tea\Exception\TeaError;
    use AlibabaCloud\Tea\Utils\Utils;
    
    use Darabonba\OpenApi\Models\Config;
    use AlibabaCloud\SDK\Imm\V20200930\Models\DetectImageFacesRequest;
    use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
    
    class Sample {
    
        /**
         * 使用AK&SK初始化账号Client
         * @return Imm Client
         */
        public static function createClient(){
            // 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。
            // 建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/311677.html。
            $config = new Config([
                // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                "accessKeyId" => getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
                // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                "accessKeySecret" => getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
            ]);
            // Endpoint 请参考 https://api.aliyun.com/product/imm
            $config->endpoint = "imm.cn-beijing.aliyuncs.com";
            return new Imm($config);
        }
    
        /**
         * @param string[] $args
         * @return void
         */
        public static function main($args){
            $client = self::createClient();
            $detectImageFacesRequest = new DetectImageFacesRequest([
                "projectName" => "imm-php-sdk-doc-demo",
                "sourceURI" => "oss://your-bucket-name/your-path/your-image.jpg"
            ]);
            $runtime = new RuntimeOptions([]);
            try {
                // 复制代码运行请自行打印 API 的返回值
               print_r($client->detectImageFacesWithOptions($detectImageFacesRequest, $runtime));
            }
            catch (Exception $error) {
                if (!($error instanceof TeaError)) {
                    $error = new TeaError([], $error->getMessage(), $error->getCode(), $error);
                }
                // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
                // 错误 message
                var_dump($error->message);
                // 诊断地址
                var_dump($error->data["Recommend"]);
                Utils::assertAsString($error->message);
            }
        }
    }
    $path = __DIR__ . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
    if (file_exists($path)) {
        require_once $path;
    }
    Sample::main(array_slice($argv, 1));
  2. 执行php demo.php命令,控制台输出结果如下。

    Array
    (
        [Faces] => Array
            (
                [0] => Array
                    (
                        [Age] => 12
                        [AgeSD] => 5
                        [Attractive] => 0.12099999934435
                        [Beard] => none
                        [BeardConfidence] => 0.99800002574921
                        [Boundary] => Array
                            (
                                [Height] => 87
                                [Left] => 280
                                [Top] => 36
                                [Width] => 70
                            )
                        [Emotion] => none
                        [EmotionConfidence] => 0.99500000476837
                        [FaceQuality] => 0.8289999961853
                        [FigureClusterId] => figure-cluster-id-unavailable
                        [FigureConfidence] => 0.9990000128746
                        [FigureId] => 3acab8ff-48e7-4647-ac57-b48834db7278
                        [FigureType] => face
                        [Gender] => male
                        [GenderConfidence] => 0.95099997520447
                        [Glasses] => none
                        [GlassesConfidence] => 1
                        [Hat] => hat
                        [HatConfidence] => 0.9879999756813
                        [HeadPose] => Array
                            (
                                [Pitch] => -12.309000015259
                                [Roll] => -11.362000465393
                                [Yaw] => 3.4430000782013
                            )
                        [Mask] => none
                        [MaskConfidence] => 0.7509999871254
                        [Mouth] => open
                        [MouthConfidence] => 0.56699997186661
                        [Sharpness] => 0.8870000243187
                    )
            )
        [RequestId] => F6D3FE7E-F0D7-0A5B-AE34-7453991DF9F2
    )