付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OSSPHPSDK最近看里好多朋友在问OSSPHPSDK的使用问题。今天有空,把之前使用OSSPHPSDK的经验和大家下。由于小弟水平有限,难免会有不足的地方,不足的地方请大家不吝赐教。那我们就开始漫长的SDK使用之旅吧。第一步:去OSS账户,并且开通OSS服务,当OSS服务开通后,进入管理中心获取相应的API密钥。如下截图:第二步:在获得API密钥后,获取OSSPHPSDK,从压缩包,解压后,我们conf.inc.phpAPI密钥填入相应的位置,代码如',‘,'OSSPHPSDK使用之旅了,接下来我们会详细介绍每个API的使用方法,并且提供详细的测试代码以及文字说明SDKsdkrequire_once//OSS$oss_sdk_service$oss_sdk_service=new//curl调试模式,该模式主要是为了方便调试使用,可以设置list_bucketbucket列表,该方法主要获取该账户下所有的bucket**$bucket_list=$oss_sdk_service-$bucket_list=$oss_sdk_service->list_bucket();获得指定bucket**$get_bucket_acl=$oss_sdk_service-其中需要传入的参数为某一$bucket的名称,$options$bucket='php-$options=$get_bucket_acl=$oss_sdk_service->get_bucket_acl($bucket,$options);设置指定bucketACL,目前只有三种aclprivate,public-read,public-read-**$set_bucket_acl=$oss_sdk_service->set_bucket_acl($bucket,其中需要指定$bucket,以及$acl的值,$aclprivate,public-read,public-read-write其中之一,$acl使用系统内置的定义方式ALIOSS::OSS_ACL_TYPE_PUBLIC_READ,public-read-write=>$bucket='php- $acl=$set_bucket_acl=$oss_sdk_service->set_bucket_acl($bucket,$acl);其中需要传入$bucket,$acl是可选的,如果不指定ACL*$acl的取值只能是private,public-read,public-read-write其中之一,$acl使用系统内置的定ALIOSS::OSS_ACL_TYPE_PUBLIC_READ,public-read-write=>$bucket='oss-php-sdk-$acl=$create_bucket=$oss_sdk_service->create_bucket($bucket,$acl);$delete_bucket=$oss_sdk_service-功$bucket$bucket='oss-php-$delete_bucket=$oss_sdk_service-bucket下的object$list_object=$oss_sdk_service-$options='max-keys'max-keysobject'prefix'=>限定返回的objectkey必须以prefix作为前缀。注意使用prefix查询时,返回的key中仍会包含prefix。'delimiter'=>Object名字进行分组的字符。所有名字包含指定的前缀且第一次出现delimiter字符之间的object作为一组元素'marker'=>marker)其中prefix,marker256$bucket='php-$options=array('delimiter'=>'/','prefix'=>'','max-keys'=>10,'marker'=>'myobject-$list_object=$oss_sdk_service-**$get_object=$oss_sdk_service-$options='lastmodified'=>headerIf-Modified-'etag'=>设置请求header'range'=>设置请求headerRange,'fileDownload'=>**$bucket='php-$object='myobject-$options=array('fileDownload'=>$filepath,$get_object_response=$oss_sdk_service->get_object($bucket,$object,$options);$create_object_dir=$oss_sdk_service-$bucket$bucket=$objectOSSbucket-$create_object_dir=$oss_sdk_service->create_object_dir($bucket,$object);**$upload_file_by_content其中的$bucket,$object以及$upload_file_options为必选参数,$upload_file_options必须为数组,且key必须为规定的值,否则会上传失败,$object是文件名称,如果上传的文件不是直接位于bucket下,而是位于某一子下,则$object='dir_name/dir_name/file_name'content为文件的内容,$length$upload_file_options$upload_file_options='content'=>'length'=>$bucket='php- $object='oss-file-name-$content=for($i=0;$i<=10000;$i$content.=}$upload_file_options=array('content'=>$content,'length'=>strlen($content),upload_file_by_file$bucket='php-$filed:\\ccc.pdf";$gram-'.time().'.pdf'objectcopy_objectCopy$copy_object_result=$oss_sdk_service-$from_bucket=$to_bucket=$from_object= $to_object='copy-object-$copy_object_result=$oss_sdk_service-$from_object,$to_bucket,$to_object);获取带签名的外链$get_sign_url=$oss_sdk_service-$bucket='php-$object$bucket='php-$object= $timeout=$get_sign_url=$oss_sdk_service->get_sign_url($bucket,$object,$timeout);Object$bucket='php-$object= $is_object_exist=$oss_sdk_service->is_object_exist($bucket,$object);var_dump($is_object_exist?'Exist':'NotExist');die();15get_object_url获得某一个object的$bucket='php-$object= $get_object_url=$oss_sdk_service->get_object_url($bucket,$object);var_dump($get_object_url?$get_object_url:'NotExist');die();object的如果$bucket='php-$object= $get_object_meta=$oss_sdk_service->get_object_meta($bucket,$object);$delete_object=$oss_sdk_service-其中需要传入$bucket,$objectobject为文件,则会直接删除,如果为文件$bucket='php-$object= $delete_object=$oss_sdk_service->delete_object($bucket,$object);bucket下的**$delete_objects_response其中需要传入$bucket,$objectobjectsbucket下的object$options可以设置返回模式,目前提供两种返回模式:详细(verbose)模式和简单(quiet)模式,默认为verbose模式,模式的设置如下$optionsarray('quite'=>true|false),truequiet模式,falseverbose$bucket=$objects=array($options=array('quiet'=>true,object**$create_object_group;其中参数$object_group,$bucket,$object_group_array不为空,且$object_group_array内的object必须位于同一bucket下$bucket='php-$object_group='object-group-$object_group_array=;object$bucket='php- $object_group='object-objectgroup**$get_object_group_index$bucket='php-$object_group='object-objectgroup**$get_object_group_meta$bucket='php-$object_group='object-object**$delete_object_group$bucket='php-$object_group='object-//MulitPart相关,适合大文件上传.2.上传part,调用upload_part,$bucket$object$uploadId为必选,还需要传入一个关'fileUpload$filepath,'partNumber$i1),**'seekTo'=>(integer)'lengthinteger$part['length'],该部分part)3.完成上传,complete_multipart_upload,其中$bucket$object//1,初始化$bucket$bucket='php-$object='Cpp.How.to.Program.7-$filepath=die('initialmultipartupload }$xml$xml=new $uploadId=(string)$xml-//2$parts$parts=$oss_sdk_service-$response_upload_part=array();foreach($partsas$i=>$part){//$uploadId,array('fileUpload'=>$filepath,'partNumber'=>($i1),'seekTo'=>(integer)$part['seekTo'],'length'=>(integer)$part['length'],}$upload_parts=$result=//Partforeachforeach($response_upload_partas$result=$result&&$response-}$oss_sdk_service->abort_multipart_upload($bucket,$object,$uploadId);die('anypartuploadfailed...');}//uploadforeachforeach($response_upload_partas$upload_parts[]=array('PartNumber'=>($i1),'ETag'=>(string)$response-}//3multipartmultipart上传中的part,由于在列出partmultipart,故需要完成multi-part的步骤1和2,调用步骤如下:.2.上传part,调用upload_part,$bucket$object$uploadId为必选,还需要传入一个关'fileUpload$filepath,'partNumber$i1),'seekTo'=>(integer)$part['seekTo'],文件位'lengthinteger$part['length'],该部分part)3.列出parts,$oss_sdk_service->list_parts($bucket$object$uploadId,$options);$bucket$object$uploadId为必选,$options//1$bucket$bucket='php-$object='Cpp.How.to.Program.7-$filepath=die('initialmultipartupload }$xml=new $uploadId=(string)$xml-$parts$parts=$oss_sdk_service-$response_upload_part=//2foreachforeach($partsas$i=>$uploadId,array('fileUpload'=>$filepath,'partNumber'=>($i1),'seekTo'=>(integer)$part['seekTo'],'length'=>(integer)$part['length'],}列出,,,*$options='max-parts'10一次最多取多少个'part-number-marker1,从哪个part-number$options=array('max-parts'=>10,'part-number-marker'=>//3.2.上传part,调用upload_part,$bucket$object$uploadId为必选,还需要传入一个关'fileUpload$filepath,'partNumber$i1),'seekTo'=>(integer)$part['seekTo'],文件位'lengthinteger$part['length'],该部分part)3.终止multi-part,调用$oss_sdk_service->abort_multipart_upload($bucket$uploadId);其中$bucket$object$uploadId//1$bucket$bucket='php-$object='Cpp.How.to.Program.7-$filepath=die('initialmultipartupload }$xml=new $uploadId=(string)$xml-$parts=$oss_sdk_service- $response_up
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产营销模板课件
- 初中政治2026教资面试结构化问答试卷及解析
- 高中语文2026教资面试答辩试卷及解析
- 高中物理2026教资面试试讲强化训练试卷及解析
- 肠梗阻护理操作流程
- 熬夜是病还是药
- 发电厂概述课件
- 反对暴力模板课件
- 防出血热课件
- 八年级劳动叠被子达标检测教案
- 北京市高职升本科统一考试英语模拟试题(含答案及详细解析)
- 绵阳科技城新区创业园街道社区卫生服务中心2026年医生招聘(4人)笔试备考题库及答案解析
- 《婚姻家庭继承法学(第4版)》 全套教学课件
- GB 2536-2025电工流体变压器和开关用的未使用过的矿物绝缘油
- JG/T 286-2010低温辐射电热膜
- 【MOOC】信号与系统-西安交通大学 中国大学慕课MOOC答案
- DB34∕T 3843-2021 掌叶覆盆子栽培技术规程
- 《劝学》 省赛一等奖完整版
- 银川某住宅工程质量管理方案
- DL-T 2577-2022 轴流转浆式水轮发电机组检修规程
- DB43-T 2778-2023 旧水泥混凝土路面共振碎石化应用技术规范
评论
0/150
提交评论