PHP原生代码集成腾讯云对象存储 COS整个过程源码方式

1 先下载源码php

点击下载git

https://github.com/tencentyun/cos-php-sdk-v5/releases/download/v2.0.8/cos-sdk-v5.tar.gzgithub

有vendor文件夹的服务器

 

2解压后再  当前目录新建了个upload.phpcurl

 

 

 

3  测试可上传  文件以下post

<?php

function cos_file_upload($local_path,$server_key_name) 
{
	require dirname(__FILE__) . '/vendor/autoload.php';
	
	$secretId = "111"; //"云 API 密钥 SecretId";
	$secretKey = "222"; //"云 API 密钥 SecretKey";改为本身的
	$region = "ap-nanjing"; //设置一个默认的存储桶地域
	$cosClient = new Qcloud\Cos\Client(
	    array(
	        'region' => $region,
	        'schema' => 'https', //协议头部,默认为http
	        'credentials'=> array(
	            'secretId'  => $secretId ,
	            'secretKey' => $secretKey)));
  		
	 //定义数据
	 $upload_success = false;
     $img_url = '';
     $upload_msg = '';
	    
	try {
	    $result = $cosClient->upload(
	        $bucket = '1222', //请建立桶的时候 设置公共读写  改为本身的
	        $key = $server_key_name,
	        $body = fopen($local_path, 'rb')
	    );
	    // 请求成功
	     $data = $result->toArray() ;
	 	if(isset($data['Location']) && isset($data['Key'])){
        	$img_url = $data['Location'];
            $upload_success = true;
        }
	} catch (\Exception $e) {
	    // 请求失败
	   $upload_msg = $e->getMessage();
	}
	
	//返回信息
        if($upload_success){
            return array('id' => '0001','msg' => '上传成功','info'=>$img_url,'more'=>'');
        }
        else{
            return  array('id' => '0002','msg' => '上传失败','info'=>$upload_msg);//返回‘上传失败’,并返回错误信息
        }
}
if($_POST) {
	$local_path=$_FILES['file']['tmp_name'];//文件上传后的临时目录
	$server_key_name="123.jpg";//远程服务器存储的名字
    $res=cos_file_upload($local_path,$server_key_name);
    var_dump($res);exit;
} else {
?>
<form enctype="multipart/form-data"  method="post"     action="upload.php"  >
	 
		<input type="file" name="file" id ="file" class ="up-file" style="height:34px;width:600px;margin-left:-8px;border:1px solid #ccc">
		<input type="hidden" name="aa" id="aa" value=0>
		<input type="submit" id = 'btn' value = "提交" class = "btn">
</form>
<?php 
}
?>

 

几个注意的地方测试

1)通过测试目前只支持https的站点上传  不是https的会报错ui

 

curl error 60 url

2) 桶至关于文件夹 就是把文件放到哪一个文件夹spa

桶能够设置 各类权限  设置为公有  就能够上传后  而后直接访问

 

 

 

3)关于API秘钥

相关文章
相关标签/搜索