当前位置:   article > 正文

云存储网盘系统源码_网盘源码

网盘源码

文章目录

 

前言

随着云存储的不断发展,文件存储的方式也发生着很大的改变。各类的云存储网盘大家也都不陌生,今天博主教大家如何拥有一个自己的存储系统。

一、网盘是什么

网盘是简而言之虚拟的储存空间,不需要提供硬件设备即可实现文件的存储。也被称为“云盘”。

二、如何搭建自己的网盘

1.基于本地硬盘为空间的存储方式

  • 通过前端from表单进行提交
  • 后台文件存储至本地磁盘
  1. <form>
  2. <input type="file" id="file-input" name="fileContent">
  3. </form>

2.基于各大对象存储平台为空间的存储方式

相信很多朋友就会纳闷,本来已经是在介绍云存储系统了,又跳出来以各大对象存储为空间的存储。搞什么?第一什么是对象存储?第二如何实现以对象存为存储空间?

1.对象存储:

存储大家都理解。那什么是对象?男女朋友?当然不是!!!

对象存储服务(即文件存储)中的对象指的是比如图片,压缩包,安装包,视频,网站css文件.......(说白了就是各类的文件),主要作用于分担服务器存储压力

2.以对象存储为存储空间:

 与本地存储的主要区别在于,文件存储位置的不同。

这里以腾讯云对象存储举例:

上传本地对象

  1. <?php
  2. require dirname(__FILE__) . '/../vendor/autoload.php';
  3. $secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
  4. $secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
  5. $region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
  6. $cosClient = new Qcloud\Cos\Client(
  7. array(
  8. 'region' => $region,
  9. 'schema' => 'https', //协议头部,默认为http
  10. 'credentials'=> array(
  11. 'secretId' => $secretId ,
  12. 'secretKey' => $secretKey)));
  13. $local_path = "/Users/xxx/Desktop/exampleobject.txt"; //保存到用户本地路径
  14. try {
  15. $result = $cosClient->upload(
  16. $bucket = 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
  17. $key = 'exampleobject', //此处的 key 为对象键
  18. $body = fopen($local_path, 'rb')
  19. );
  20. // 请求成功
  21. print_r($result);
  22. } catch (\Exception $e) {
  23. // 请求失败
  24. echo($e);
  25. }

 下载对象

  1. <?php
  2. require dirname(__FILE__) . '/../vendor/autoload.php';
  3. $secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
  4. $secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
  5. $region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
  6. $cosClient = new Qcloud\Cos\Client(
  7. array(
  8. 'region' => $region,
  9. 'schema' => 'https', //协议头部,默认为http
  10. 'credentials'=> array(
  11. 'secretId' => $secretId ,
  12. 'secretKey' => $secretKey)));
  13. $local_path = "/Users/xxx/Desktop/exampleobject.txt"; //保存到用户本地路径
  14. $printbar = function($totalSize, $downloadedSize) {
  15. printf("downloaded [%d/%d]\n", $downloadedSize, $totalSize);
  16. };
  17. try {
  18. $result = $cosClient->download(
  19. $bucket = 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
  20. $key = 'exampleobject',
  21. $saveAs = $local_path,
  22. $options= array(
  23. 'Progress' => $printbar, //指定进度条
  24. 'PartSize' => 10 * 1024 * 1024, //分块大小
  25. 'Concurrency' => 5, //并发数
  26. 'ResumableDownload' => true, //是否开启断点续传,默认为false
  27. 'ResumableTaskFile' => 'tmp.cosresumabletask' //断点文件信息路径,默认为<localpath>.cosresumabletask
  28. )
  29. );
  30. // 请求成功
  31. print_r($result);
  32. } catch (\Exception $e) {
  33. // 请求失败
  34. echo($e);
  35. }

程序演示与下载

程序演示:

 程序下载:2022最新云存储网盘系统_文件分享系统_文件存储系统

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/207354
推荐阅读
相关标签
  

闽ICP备14008679号