<?php
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
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 "\n====> put result: \n";
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);
}
}

?>

七牛php上传下载类,集成官方文档的方法的更多相关文章

  1. ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64)

    ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64) 七牛图片上传 SDK(.NET 版本):https://developer.qiniu.com/kodo/sdk/ ...

  2. 一个命令完成[打包+同步七牛cdn+上传服务器]

    webpack+gulp+qshell+npm-scripts实现一个命令完成[打包+同步cdn+上传服务器] 说明 由于我们用的七牛云存储,所以cdn也是走的七牛,所以并不适用于其他的cdn,但是思 ...

  3. C#使用七牛云存储上传下载文件、自定义回调

    项目需要将音视频文件上传服务器,考虑并发要求高,通过七牛来实现. 做了一个简易的压力测试,同时上传多个文件,七牛自己应该有队列处理并发请求,我无论同时提交多少个文件,七牛是批量一个个排队处理了. 一个 ...

  4. FTP上传下载类

    public class FtpOperation { public static void UploadFile(FileInfo fileinfo, string targetDir, strin ...

  5. 七牛图片上传JSSDK

    BASE64图片上传 接口说明: POST /putb64/<Fsize>/key/<EncodedKey>/mimeType/<EncodedMimeType>/ ...

  6. 七牛文件上传-python

    #!/usr/bin/env python # -*- coding: utf-8 -*- import sys import os from sevencow import CowException ...

  7. 两个七牛app上传小脚本

    把要更新的app放到/home/data下面 安卓: cat upload_apk.sh #!/bin/bashUser=xxxxx@qq.comPass=xxxxxxqrsctl-v3.1.2016 ...

  8. Android File类 根据官方文档理解(转)

    File有四个构造函数        public File(File dir,String name)             参数为File和String,File制定构造的新的File对象的路径 ...

  9. Android File类 根据官方文档理解

    File有四个构造函数        public File(File dir,String name)             参数为File和String,File制定构造的新的File对象的路径 ...

随机推荐

  1. Eclipse中自动生成get/set时携带注释给get/set

    Eclipse中自动生成get/set时携带注释给get/set   编码的时候通常要用到 JavaBean ,而在我们经常把注释写在字段上面,但生成的Get/Set方法不会生成,通过修改Eclips ...

  2. CAD在网页中打印的图纸里面添加页眉及页脚

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  3. vmware vSphere client中,选择文件->部署OVF模板,报错处理方法

    在vmware vSphere client中,选择文件->部署OVF模板,选择指定的OVA文件,按步骤进行,则会出现这样的错误:此OVF软件包使用了不受支持的功能.OVF软件包需要不支持的硬件 ...

  4. maxtrid 3D视差

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Python 模块的导入 day5

    一.模块 1.标准模块 python自带的 2.第三方模块 需要自己安装的模块 3.自己写的python文件 一个python文件,就是一个模块 (1)导入模块的实质 就是把你导入的模块运行了一遍 ( ...

  6. 16.2 【C# 5】调用者信息特性

    16.2.1 基本行为 .NET 4.5引入了三个新特性(attribute),即 CallerFilePathAttribute . CallerLineNumber- Attribute 和 Ca ...

  7. Miller Rabbin素数测试

    步骤 ①先写快速幂取模函数 ②MR算法开始 (1)传入两个参数一个是底数一个是n也就是幂数,如果n是一个合数那么可以判定,这个数一定不是素数 (2)然后开始寻找一个奇数的n去计算,如果最后满足a^d% ...

  8. JS练习:显示和隐藏

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. shell 读取目录指定文件并截取拼接

    shell脚本读取指定文件并拼接成指定的版本信息

  10. git 的简单使用(3)

    Git鼓励大量使用分支: 查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name> 创建+切换分支:git ...