php上传进度条到七牛,php上传到七牛

php sdk下载:

http://developer.qiniu.com/code/v7/sdk/php.html

/*

* app3.0后台

*/

use Qiniu\Auth;

use Qiniu\Storage\UploadManager;

use Qiniu\Storage\BucketManager;

class app3admin{

private $accessKey;//qiniu accessKey

private $secretKey;//qiniu secretKey

private $bucket;//qiniu 存储空间名

private $bucketDomain;//存储空间绑定的域名

public function __construct()

{

}

/*

* 七牛配置信息

*/

private function qiniuConfig()

{

$this->accessKey = '你自己的';

$this->secretKey = '你自己的';

$this->bucket = '存储空间名';

$this->bucketDomain = '空间绑定的域名';

include './lib/qiniu7.0.7/autoload.php';

}

/*

* 请求方式

* @param return string get,post,ajax

*/

public function requestMethod()

{

$method=strtolower($_SERVER['REQUEST_METHOD']);

if(isset($_SERVER['HTTP_X_REQUESTED_WITH'])

&& (strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') ){

$method='ajax';

}

return $method;

}

/*

* 上传到七牛

*/

public function uploadPic()

{

self::qiniuConfig();

$tmp_name = $_FILES['fileField']['tmp_name'];

$imageType = self::checkPic($tmp_name);

$picName = date('YmdHis', time()) . '.' . $imageType;

$auth = new Auth($this->accessKey, $this->secretKey);

$token = $auth->uploadToken($this->bucket);

$uploadMgr = new UploadManager();

// 上传文件到七牛

list($ret, $err) = $uploadMgr->putFile($token, $picName, $tmp_name);

if ($err !== null) {

$this->showDialog('上传到七牛失败');

} else {

$picUrl=$this->bucketDomain . $picName;

echo "";

$this->showDialog($picUrl);

}

}

/*

* 检查上传图片

* @param $tmp_name string 文件域上传产生的临时文件 $_FILES['fileField']['tmp_name']

* @param $alloSize 允许上传的大小 单位M 不填最大5M

* @param $alloType array 允许上传的类型

* @return string 图片扩展名,如 jpg

*/

public function checkPic($tmp_name,$alloSize=null,$alloType=null)

{

if(!isset($alloType)){

$alloType = array('jpg', 'jpeg', 'gif', 'png');

}

if(!isset($alloSize)){

$alloSize = 5;//5M

}

$imageInfo = getimagesize($tmp_name);//图片信息

//根据图片类型编号取扩展名,去掉.

$imageType = strtolower(substr(image_type_to_extension($imageInfo[2]), 1));

$imageSize = filesize($tmp_name);//文件大小

if (!in_array($imageType, $alloType)) {

self::showDialog('上传失败请重试');

}

if ($imageSize > $alloSize*1024*1024) {

self::showDialog('最大只允许上传'.$alloSize.'M的图片');

}

return $imageType;

}

/*

* 父窗口弹出警告

*/

function showDialog($msg)

{

echo "";

exit();

}

/*

* 从七牛删除

* @param $key string 七牛上文件的名称

*/

public function delFromQiniu($key)

{

self::qiniuConfig();

//初始化Auth状态

$auth = new Auth($this->accessKey, $this->secretKey);

//初始化BucketManager

$bucketMgr = new BucketManager($auth);

//删除$bucket 中的文件 $key

$err = $bucketMgr->delete($this->bucket, $key);

if ($err !== null) {

$ret['result']=0;

$ret['msg']='从七牛上删除失败';

} else {

$ret['result']=1;

$ret['msg']='从七牛上删除成功';

}

echo json_encode($ret);

}

}

/*---------------------------------------------------以下为业务控制----------------------------------------------*/

$obj=new app3admin();

$method=$obj->requestMethod();//请求方式

if($method=='post'){//上传图片

$obj->uploadPic();//上传到七牛

}

if($method=='ajax'){

$ajaxAction=$_POST['ajaxAction'];

switch ($ajaxAction){

case 'delfromqiniu'://从七牛上删除

$obj->delFromQiniu(trim($_POST['key']));

break;

default:

}

}

if($method!='get'){//get时加载模板,否则只进行业务操作

exit();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值