原创

php七牛云怎么讲文件上传到七牛云并返回文件名保存到本地数据库


其实七牛云早就有了解了!但是一直没有静下心来好好的去挖掘!最近花了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

留言反馈
问题反馈渠道,如有软件无法下载或者其他问题可反馈。【由于某种原因,目前留言不展示】
用户需要登录后才能留言反馈