七牛php上传下载类,集成官方文档的方法
<?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上传下载类,集成官方文档的方法的更多相关文章
- ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64)
ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64) 七牛图片上传 SDK(.NET 版本):https://developer.qiniu.com/kodo/sdk/ ...
- 一个命令完成[打包+同步七牛cdn+上传服务器]
webpack+gulp+qshell+npm-scripts实现一个命令完成[打包+同步cdn+上传服务器] 说明 由于我们用的七牛云存储,所以cdn也是走的七牛,所以并不适用于其他的cdn,但是思 ...
- C#使用七牛云存储上传下载文件、自定义回调
项目需要将音视频文件上传服务器,考虑并发要求高,通过七牛来实现. 做了一个简易的压力测试,同时上传多个文件,七牛自己应该有队列处理并发请求,我无论同时提交多少个文件,七牛是批量一个个排队处理了. 一个 ...
- FTP上传下载类
public class FtpOperation { public static void UploadFile(FileInfo fileinfo, string targetDir, strin ...
- 七牛图片上传JSSDK
BASE64图片上传 接口说明: POST /putb64/<Fsize>/key/<EncodedKey>/mimeType/<EncodedMimeType>/ ...
- 七牛文件上传-python
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys import os from sevencow import CowException ...
- 两个七牛app上传小脚本
把要更新的app放到/home/data下面 安卓: cat upload_apk.sh #!/bin/bashUser=xxxxx@qq.comPass=xxxxxxqrsctl-v3.1.2016 ...
- Android File类 根据官方文档理解(转)
File有四个构造函数 public File(File dir,String name) 参数为File和String,File制定构造的新的File对象的路径 ...
- Android File类 根据官方文档理解
File有四个构造函数 public File(File dir,String name) 参数为File和String,File制定构造的新的File对象的路径 ...
随机推荐
- dubbo之优雅停机
优雅停机 Dubbo 是通过 JDK 的 ShutdownHook 来完成优雅停机的,所以如果用户使用 kill -9 PID 等强制关闭指令,是不会执行优雅停机的,只有通过 kill PID 时,才 ...
- 如何将工程推到github上
首先,读一下这个 Git-Pro中文版 步骤: 在本地文件系统中 git init 在github中新建项目(光新建就行了) 然后,出现下面这张图,打开sourceTree,按照上面的操作进行就行了. ...
- Dispatch Queues 线程池
Dispatch Queues Dispatch queues are a C-based mechanism for executing custom tasks. A dispatch queue ...
- Python之操作Excel、异常处理、网络编程
知识补充: 1.falsk模块中一些方法总结 import flask from flask import request,jsonify server = flask.Flask(__name__) ...
- post发送 ArrayBuffer
// 用 POST 方法将 ArrayBuffer 发送到服务器 ); var longInt8View = new Uint8Array(myArray); ; i< longInt8View ...
- cogs——66. [HAOI2004模拟] 数列问题
66. [HAOI2004模拟] 数列问题 本以为会TLE,可... dfs水题(很基础) #include<bits/stdc++.h> using namespace std; ],a ...
- Python - 模块(一)
目录 Python - 模块(一) 模块的引用方式 常用模块 random(随机模块) os模块 sys 序列化模块 hashlib subprocess optparse struct Python ...
- 深入浅出了解HTTP协议
深入浅出了解HTTP协议
- EF--model is being created异常
使用EF的时候出现了下面的异常,我使用了TASK和saveChangeAsync()异步 The context cannot be used while the model is being cre ...
- [bzoj1103][POI2007]大都市meg_dfs序_树状数组
大都市meg bzoj-1103 POI-2007 题目大意:给定一颗n个点的树,m次操作.将一条路的边权更改成0:查询一个点到根节点的点权和.开始的时候所有边的边权都是1. 注释:$1\le n,m ...