zoukankan      html  css  js  c++  java
  • PHP原生代码集成腾讯云对象存储 COS整个过程源码方式

    1 先下载源码

    点击下载

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

    有vendor文件夹的

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

    3  测试可上传  文件如下

    <?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 QcloudCosClient(
    	    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;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的会报错

    curl error 60 

    2) 桶相当于文件夹 就是把文件放到哪个文件夹

    桶可以设置 各种权限  设置为公有  就可以上传后  然后直接访问

    3)关于API秘钥

  • 相关阅读:
    hdu 1042 N!
    hdu 1521 排列组合 指数型母函数
    soj 3252 Choose 组合数对素数取余
    hrbeu 错排问题
    Java 垃圾回收机制浅析
    Java 简单了解线程 同步线程和死锁(二)
    Java 简单了解线程 生产者与消费者问题(三)
    Java 网络编程 简单接触UDP
    Java 简单接触Applet
    Java 控制台的输入和由Hello World引发的两个小问题
  • 原文地址:https://www.cnblogs.com/baker95935/p/12867486.html
Copyright © 2011-2022 走看看