其实七牛云早就有了解了!但是一直没有静下心来好好的去挖掘!最近花了30多分钟写了个小小的demo分享出来!其他功能需要大家自己挖掘了哟!
本地demo满足了网站后台图片等文件保存到云服务器并将文件名存入数据库的需求!我呢是给大家做了一个引子!数据库的操作步骤需要大家自己完善!毕竟也就是简单的将名字insert into 一下就OK了的吗!
首先我们需要住蹙七牛云的账号:https://www.qiniu.com 大家自行注册
然后就是下载官方的sdk:https://github.com/qiniu/php-sdk/releases 这里大家也可以不下载,直接下载我后面打包的demo就可以
相关api文档:https://developer.qiniu.com/kodo/sdk/1241/php#4
进入正题:
我的demo写的比较乱后期要加入框架的时候再整理吧!这里大家看的也挺明了的!我就不删除那些注释了
创建了2个php文件 index可以理解为视图文件 up可以理解为控制器 具体如下图
其中
bucket
accesskey
secretkey
需要大家修改成自己的!如果还不会找这些呢 请点击访问下面的文章-
七牛云怎么获取bucket、accessKey、secretKey
-http://micuer.com/index.php?m=index&a=read&id=237
index.php 的代码如下
'http://micuer.com/qiniuyun/examples/upload_verify_callback.php', 'callbackBody' => 'key=$(key)&hash=$(etag)&bucket=$(bucket)&fsize=$(fsize)&name=$(x:name)', 'callbackBodyType' => 'application/json' ); $token = $auth->uploadToken($bucket, null, $expires, $policy, true); // 构建 UploadManager 对象 $uploadMgr = new UploadManager(); ?>
up.php 的代码如下
'http://micuer.com/qiniuyun/examples/upload_verify_callback.php', 'callbackBody' => 'key=$(key)&hash=$(etag)&bucket=$(bucket)&fsize=$(fsize)&name=$(x:name)', 'callbackBodyType' => 'application/json' ); $token = $auth->uploadToken($bucket, null, $expires, $policy, true); // 构建 UploadManager 对象 $uploadMgr = new UploadManager(); // 要上传文件的本地路径 $filePath = $_FILES['file']['tmp_name']; // 上传到七牛后保存的文件名 $key = date("YmdH"); list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath); echo "\n====> putFile result: \n"; if ($err !== null) { var_dump($err); } else { var_dump($ret); } 代码大家自行阅读吧,很简单的!下面我给大家介绍下怎么运行 我给大家的demo
首先现在demo 解压放到你本地服务器的一个文件夹下 我的是qiniuyun
然后选择文件 再点击上传
运行结果如图
其中key就是我们保存在七牛云中的文件名
我们在保存到数据库中的时候,直接自己组装下文件名就行了!
因为七牛云给我们提供了
bucket
的外链
组装下就好了!!!
无论你是返回的json还是数组都可以的!
下面是demo打包文件! 下载后请自行修改你自己的
$bucket
$accessKey
$secretKey
链接: https://pan.baidu.com/s/1ran2wpA 密码: ndsi