zoukankan      html  css  js  c++  java
  • 七牛php上传下载类,集成官方文档的方法

    <?php
    use QiniuAuth;
    use QiniuStorageUploadManager;
    class qiniu
    {
    public $_accesskey = null;
    public $_secretKey =null;
    public $_bucket =null;
    /**
    * 构造函数
    *
    * @access public
    * @param string $tpl
    * @return void
    */
    function __construct($accesskey=null,$secretKey=null,$bucket =null)
    {
    $this->_accesskey=$accesskey;
    $this->_secretKey=$secretKey;
    $this->_bucket=$bucket;
    }
    function gettoken(){

    $auth = new Auth($this->_accessKey, $this->_secretKey);
    $bucket = $this->_bucket;
    $token = $auth->uploadToken($bucket);
    return $token;
    }
    function uploadstring($string){
    //$string是字符串

    $auth = new Auth($this->_accesskey, $this->_secretKey);
    $bucket = $this->_bucket;
    // 设置put policy的其他参数, 上传回调
    //$opts = array(
    // 'callbackUrl' => 'http://www.callback.com/',
    // 'callbackBody' => 'name=$(fname)&hash=$(etag)'
    // );
    //$token = $auth->uploadToken($bucket, null, 3600, $opts);

    $token = $auth->uploadToken($bucket);
    $uploadMgr = new UploadManager();

    list($ret, $err) = $uploadMgr->put($token, null, $string);
    echo " ====> put result: ";
    if ($err !== null) {
    return $err;
    } else {
    return $ret;
    }
    }
    function uploadfile($file=null){
    //$file是文件路径

    $auth = new Auth($this->_accesskey, $this->_secretKey);
    $bucket = $this->_bucket;
    // 设置put policy的其他参数, 上传回调
    //$opts = array(
    // 'callbackUrl' => 'http://www.callback.com/',
    // 'callbackBody' => 'name=$(fname)&hash=$(etag)'
    // );
    //$token = $auth->uploadToken($bucket, null, 3600, $opts);

    $token = $auth->uploadToken($bucket);
    $uploadMgr = new UploadManager();
    list($ret, $err) = $uploadMgr->putFile($token, null, $file);
    if ($err !== null) {
    return $err;
    } else {
    return $ret;
    }
    }
    function download($resource,$filecode,$tosource=null,filename="file"){

    //$resource是bucket的网址,$filecode是文件的码,$tosource是要下载的文件夹路径
    $auth = new Auth($this->_accesskey, $this->_secretKey);
    $baseUrl = $resource.'/'.$filecode;
    $authUrl = $auth->privateDownloadUrl($baseUrl);
    $this->download_remote_file_with_curl($authUrl, $tosource.time().$filename);
    return $authUrl;
    }
    function download_remote_file_with_curl($file_url, $save_to)
    {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, 0);
    curl_setopt($ch,CURLOPT_URL,$file_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $file_content = curl_exec($ch);
    curl_close($ch);

    $downloaded_file = fopen($save_to, 'w');
    fwrite($downloaded_file, $file_content);
    fclose($downloaded_file);
    }
    }


    ?>

  • 相关阅读:
    ORB_SLAM2_Android
    Android惯性导航定位
    基于图像特征的图像哈希算法及实现
    Locality preserving hashing for fast image search: theory and applications
    OpenNI depth深度数据的数据格式
    速度快的国外镜像国家
    wget和curl
    关于wireshark
    ios app抓包分析
    浏览器同部署了https的服务器交互的过程
  • 原文地址:https://www.cnblogs.com/liuwenbohhh/p/4688665.html
Copyright © 2011-2022 走看看