云存储网盘系统源码

文章目录

 

前言

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

一、网盘是什么

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

二、如何搭建自己的网盘

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

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

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

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

1.对象存储:

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

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

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

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

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

上传本地对象

<?php

require dirname(__FILE__) . '/../vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\Cos\Client(
    array(
        'region' => $region,
        'schema' => 'https', //协议头部,默认为http
        'credentials'=> array(
            'secretId'  => $secretId ,
            'secretKey' => $secretKey)));
$local_path = "/Users/xxx/Desktop/exampleobject.txt"; //保存到用户本地路径

try {
    $result = $cosClient->upload(
        $bucket = 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
        $key = 'exampleobject', //此处的 key 为对象键
        $body = fopen($local_path, 'rb')
    );
    // 请求成功
    print_r($result);
} catch (\Exception $e) {
    // 请求失败
    echo($e);
}

 下载对象

<?php

require dirname(__FILE__) . '/../vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\Cos\Client(
    array(
        'region' => $region,
        'schema' => 'https', //协议头部,默认为http
        'credentials'=> array(
            'secretId'  => $secretId ,
            'secretKey' => $secretKey)));
$local_path = "/Users/xxx/Desktop/exampleobject.txt"; //保存到用户本地路径

$printbar = function($totalSize, $downloadedSize) {
    printf("downloaded [%d/%d]\n", $downloadedSize, $totalSize);
};

try {
    $result = $cosClient->download(
        $bucket = 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
        $key = 'exampleobject',
        $saveAs = $local_path,
        $options= array(
            'Progress' => $printbar, //指定进度条
            'PartSize' => 10 * 1024 * 1024, //分块大小
            'Concurrency' => 5, //并发数
            'ResumableDownload' => true, //是否开启断点续传,默认为false
            'ResumableTaskFile' => 'tmp.cosresumabletask' //断点文件信息路径,默认为<localpath>.cosresumabletask
        )
    );
    // 请求成功
    print_r($result);
} catch (\Exception $e) {
    // 请求失败
    echo($e);
}

程序演示与下载

程序演示:

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值