本文介绍如何安装和快速使用智能媒体管理PHP SDK。

前提条件

  • 已下载并安装PHP 5.3及以上版本的开发环境。请通过PHP官方网站下载相应版本。
  • 已创建并获取Access Key。具体操作,请参见获取AccessKey
  • 已开通OSS服务、创建存储空间并上传文件到存储空间。具体操作,请参见OSS控制台使用流程
  • 已开通智能媒体管理服务。具体操作,请参见开通产品
    注意 目前在华东1(杭州)和华东2(上海)地域中,您也可以通过调用OpenImmService接口开通智能媒体管理服务。
  • 已创建所需类型的项目。具体操作,请参见创建项目

快速使用

使用智能媒体管理PHP SDK的操作步骤如下:

  1. 安装智能媒体管理PHP SDK。
    1. 执行如下命令从GitHub中下载PHP SDK的源代码。
      git clone https://github.com/aliyun/aliyun-openapi-php-sdk.git                            
    2. 添加PHP SDK的引用。
      例如PHP SDK下载后的路径为/path/to/aliyun-openapi-php-sdk。创建一个PHP文件并输入如下内容:
      require_once '/path/to/aliyun-openapi-php-sdk/aliyun-php-sdk-core/Config.php';                            
  2. 开始一个PHP项目。
    如下示例以在华东1(杭州)地域中创建文档转换任务为例说明。
    use imm\Request\V20170906 as Imm;
    
    $iClientProfile = DefaultProfile::getProfile(
        "cn-hangzhou",                      # 项目所在地域ID。 
        "your_access_key_id",               # RAM用户的AccessKey ID。
        "your_access_key_secret"            # RAM用户的AccessKey Secret。
    );
    $client = new DefaultAcsClient($iClientProfile);
    
    //项目名称。请确保已创建该项目且项目类型为文档标准型(DocStarter)。
    $projectName = "test-project-name";
    
    //创建文档转换任务。
    $request = new Imm\CreateOfficeConversionTaskRequest();
    $request->setProject($projectName);
    //设置待转换文件的OSS URI。
    $request->setSrcUri("oss://your-bucket-name/your-path/your-doc.doc"); 
    //设置文件输出格式为vector。
    $request->setTgtType("vector");
    //设置转换后文件的输出路径。
    $request->setTgtUri("oss://your-bucket-name/your-path/your-doc-output");
    $response = $client->getAcsResponse($request);
    print_r($response);
    //获取文档转换任务结果。
    //设置最大轮询次数为30。
    $maxRetryCount = 30;
    //设置每次轮询的时间间隔为1秒。
    $retryDelay = 1;
    $request = new Imm\GetOfficeConversionTaskRequest();
    $request->setTaskId($response->TaskId);
    $request->setProject($projectName);
    while($maxRetryCount--){
        sleep($retryDelay);
        $response = $client->getAcsResponse($request);
        print_r($response);
        if($response->Status != 'Running') break;
    }