云存储源码(个人云存储源码php网盘源码)

2023年 6月 29日 发表评论
腾讯云正在大促:点击直达 阿里云超级红包:点击领取
免费/便宜/高性价比服务器汇总入口(已更新):点击这里了解

云存储源码(个人云存储源码php网盘源码)

目录:

  • 1、做it行业的,将项目源码保存到自己的云盘(如:百度云盘)上面,是否违反公司签订的保密协议?
  • 2、七牛云存储的音频水印如何加php版本的
  • 3、请教百度开放云上传文件到对象存储BOS的PHP源码示例

做it行业的,将项目源码保存到自己的云盘(如:百度云盘)上面,是否违反公司签订的保密协议?

建议你建议公司部署云盘,就能将项目源码上传到云盘中啦,这个属于公司的云盘,当然就不会违反公司的规定。

推荐云盒子公司私有云盘,里面有公司文档和个人文档,一些重要的文件可以传到公司文档,配合权限安全存储起来,私人的文档可以放在个人文档中,一下满足公司云盘和个人云盘的2个要求,完美。

七牛云存储的音频水印如何加php版本的

此 SDK 适用于 PHP 5.1.0 及其以上版本。基于 七牛云存储官方API 构建。使用此 SDK 构建您的网络应用程序,能让您以非常便捷地方式将数据安全地存储到七牛云存储上。无论您的网络应用是一个网站程序,还是包括从云端(服务端程序)到终端(手持设备应用)的架构的服务或应用,通过七牛云存储及其 SDK,都能让您应用程序的终端用户高速上传和下载,同时也让您的服务端更加轻盈。

SDK源码地址:

应用接入

获取Access Key 和 Secret Key

资源管理接口

1 查看单个文件属性信息

2 复制单个文件

3 移动单个文件

4 删除单个文件

上传下载接口

1 文件上传

1.1 上传流程

1.2 上传策略

2 文件下载

2.1 公有资源下载

2.2 私有资源下载

数据处理接口

1 图像

1.1 查看图像属性

1.2 查看图片EXIF信息

1.3 生成图片预览

贡献代码

许可证

应用接入

1. 获取Access Key 和 Secret Key

要接入七牛云存储,您需要拥有一对有效的 Access Key 和 Secret Key 用来进行签名认证。可以通过如下步骤获得:

开通七牛开发者帐号

登录七牛开发者自助平台,查看 Access Key 和 Secret Key 。

资源管理接口

1.查看单个文件属性信息

示例代码如下:

require_once("qiniu/rs.php");

$bucket = "phpsdk";

$key = "pic.jpg";

$accessKey = 'YOUR_APP_ACCESS_KEY';

$secretKey = 'YOUR_APP_SECRET_KEY';

Qiniu_SetKeys($accessKey, $secretKey);

$client = new Qiniu_MacHttpClient(null);

list($ret, $err) = Qiniu_RS_Stat($client, $bucket, $key);

echo "Qiniu_RS_Stat result: n";

if ($err !== null) {

var_dump($err);

} else {

var_dump($ret);

}

2. 复制单个文件

示例代码如下:

require_once("qiniu/rs.php");

$bucket = "phpsdk";

$key = "pic.jpg";

$key1 = "file_name1";

$accessKey = 'YOUR_APP_ACCESS_KEY';

$secretKey = 'YOUR_APP_SECRET_KEY';

Qiniu_SetKeys($accessKey, $secretKey);

$client = new Qiniu_MacHttpClient(null);

$err = Qiniu_RS_Copy($client, $bucket, $key, $bucket, $key1);

echo "==== Qiniu_RS_Copy result: n";

if ($err !== null) {

var_dump($err);

} else {

echo "Success!";

}

3. 移动单个文件

示例代码如下:

require_once("qiniu/rs.php");

$bucket = "phpsdk";

$key = "pic.jpg";

$key1 = "file_name1";

$accessKey = 'YOUR_APP_ACCESS_KEY';

$secretKey = 'YOUR_APP_SECRET_KEY';

Qiniu_SetKeys($accessKey, $secretKey);

$client = new Qiniu_MacHttpClient(null);

$err = Qiniu_RS_Move($client, $bucket, $key, $bucket, $key1);

echo "==== Qiniu_RS_Move result: n";

if ($err !== null) {

var_dump($err);

} else {

echo "Success!";

}

4. 删除单个文件

示例代码如下:

require_once("qiniu/rs.php");

$bucket = "phpsdk";

$key1 = "file_name1";

$accessKey = 'YOUR_APP_ACCESS_KEY';

$secretKey = 'YOUR_APP_SECRET_KEY';

Qiniu_SetKeys($accessKey, $secretKey);

$client = new Qiniu_MacHttpClient(null);

$err = Qiniu_RS_Delete($client, $bucket, $key1);

echo "==== Qiniu_RS_Delete result: n";

if ($err !== null) {

var_dump($err);

} else {

echo "Success!";

}

上传下载接口

###1. 文件上传

为了尽可能地改善终端用户的上传体验,七牛云存储首创了客户端直传功能。一般云存储的上传流程是:

客户端(终端用户) = 业务服务器 = 云存储服务

这样多了一次上传的流程,和本地存储相比,会相对慢一些。但七牛引入了客户端直传,将整个上传过程调整为:

客户端(终端用户) = 七牛 = 业务服务器

客户端(终端用户)直接上传到七牛的服务器,通过DNS智能解析,七牛会选择到离终端用户最近的ISP服务商节点,速度会比本地存储快很多。文件上传成功以后,七牛的服务器使用回调功能,只需要将非常少的数据(比如Key)传给应用服务器,应用服务器进行保存即可。

1.1上传流程

在七牛云存储中,整个上传流程大体分为这样几步:

业务服务器颁发 uptoken(上传授权凭证)给客户端(终端用户)

客户端凭借 uptoken 上传文件到七牛

在七牛获得完整数据后,发起一个 HTTP 请求回调到业务服务器

业务服务器保存相关信息,并返回一些信息给七牛

七牛原封不动地将这些信息转发给客户端(终端用户)

需要注意的是,回调到业务服务器的过程是可选的,它取决于业务服务器颁发的 uptoken。如果没有回调,七牛会返回一些标准的信息(比如文件的 hash)给客户端。如果上传发生在业务服务器,以上流程可以自然简化为:

业务服务器生成 uptoken(不设置回调,自己回调到自己这里没有意义)

凭借 uptoken 上传文件到七牛

善后工作,比如保存相关的一些信息

服务端生成 uptoken 代码如下:

require_once("qiniu/rs.php");

$bucket = 'phpsdk';

$accessKey = 'YOUR_APP_ACCESS_KEY';

$secretKey = 'YOUR_APP_SECRET_KEY';

Qiniu_SetKeys($accessKey, $secretKey);

$putPolicy = new Qiniu_RS_PutPolicy($bucket);

$upToken = $putPolicy-Token(null);

上传文件到七牛(通常是客户端完成,但也可以发生在服务端):

上传字符串

require_once("qiniu/io.php");

require_once("qiniu/rs.php");

$bucket = "phpsdk";

$key1 = "file_name1";

$accessKey = 'YOUR_APP_ACCESS_KEY';

$secretKey = 'YOUR_APP_SECRET_KEY';

Qiniu_SetKeys($accessKey, $secretKey);

$putPolicy = new Qiniu_RS_PutPolicy($bucket);

$upToken = $putPolicy-Token(null);

list($ret, $err) = Qiniu_Put($upToken, $key1, "Qiniu Storage!", null);

echo "==== Qiniu_Put result: n";

if ($err !== null) {

var_dump($err);

} else {

var_dump($ret);

}

上传本地文件

require_once("qiniu/io.php");

require_once("qiniu/rs.php");

$bucket = "phpsdk";

$key1 = "file_name1";

$accessKey = 'YOUR_APP_ACCESS_KEY';

$secretKey = 'YOUR_APP_SECRET_KEY';

Qiniu_SetKeys($accessKey, $secretKey);

$putPolicy = new Qiniu_RS_PutPolicy($bucket);

$upToken = $putPolicy-Token(null);

$putExtra = new Qiniu_PutExtra();

$putExtra-Crc32 = 1;

list($ret, $err) = Qiniu_PutFile($upToken, $key1, __file__, $putExtra);

echo "==== Qiniu_PutFile result: n";

if ($err !== null) {

var_dump($err);

} else {

var_dump($ret);

}

1.2 上传策略

uptoken 实际上是用 AccessKey/SecretKey 进行数字签名的上传策略(Qiniu_RS_PutPolicy),它控制则整个上传流程的行为。让我们快速过一遍你都能够决策啥:

class Qiniu_RS_PutPolicy

{

public $Scope; // 必选项。可以是 bucketName 或者 bucketName:key

public $CallbackUrl; // 可选

public $CallbackBody; // 可选

public $ReturnUrl; // 可选, 更贴切的名字是 redirectUrl。

public $ReturnBody; // 可选

public $AsyncOps; // 可选

public $EndUser; // 可选

public $Expires; // 可选。默认是 3600 秒

}

scope 限定客户端的权限。如果 scope 是 bucket,则客户端只能新增文件到指定的 bucket,不能修改文件。如果 scope 为 bucket:key,则客户端可以修改指定的文件。

callbackUrl 设定业务服务器的回调地址,这样业务服务器才能感知到上传行为的发生。

callbackBody 设定业务服务器的回调信息。文件上传成功后,七牛向业务服务器的callbackUrl发送的POST请求携带的数据。支持 魔法变量 和 自定义变量。

returnUrl 设置用于浏览器端文件上传成功后,浏览器执行301跳转的URL,一般为 HTML Form 上传时使用。文件上传成功后浏览器会自动跳转到 returnUrl?upload_ret=returnBody。

returnBody 可调整返回给客户端的数据包,支持 魔法变量 和 自定义变量。returnBody 只在没有 callbackUrl 时有效(否则直接返回 callbackUrl 返回的结果)。不同情形下默认返回的 returnBody 并不相同。在一般情况下返回的是文件内容的 hash,也就是下载该文件时的 etag;但指定 returnUrl 时默认的 returnBody 会带上更多的信息。

asyncOps 可指定上传完成后,需要自动执行哪些数据处理。这是因为有些数据处理操作(比如音视频转码)比较慢,如果不进行预转可能第一次访问的时候效果不理想,预转可以很大程度改善这一点。

关于上传策略更完整的说明,请参考 uptoken。

2. 文件下载

七牛云存储上的资源下载分为 公有资源下载 和 私有资源下载 。

私有(private)是 Bucket(空间)的一个属性,一个私有 Bucket 中的资源为私有资源,私有资源不可匿名下载。

新创建的空间(Bucket)缺省为私有,也可以将某个 Bucket 设为公有,公有 Bucket 中的资源为公有资源,公有资源可以匿名下载。

2.1 公有资源下载

如果在给bucket绑定了域名的话,可以通过以下地址访问。

[GET] ;domain/key

示例代码:

$key = 'pic.jpg';

$domain = 'phpsdk.qiniudn.com';

//$baseUrl 就是您要访问资源的地址

$baseUrl = Qiniu_RS_MakeBaseUrl($domain, $key);

其中可以到七牛云存储开发者自助网站绑定, 域名可以使用自己一级域名的或者是由七牛提供的二级域名(bucket.qiniudn.com)。注意,尖括号不是必需,代表替换项。

2.2 私有资源下载

私有资源必须通过临时下载授权凭证(downloadToken)下载,如下:

[GET] ;domain/key?e=deadlinetoken=downloadToken

注意,尖括号不是必需,代表替换项。

私有下载链接可以使用 SDK 提供的如下方法生成:

require_once("qiniu/rs.php");

$key = 'pic.jpg';

$domain = 'phpsdk.qiniudn.com';

$accessKey = 'YOUR_APP_ACCESS_KEY';

$secretKey = 'YOUR_APP_SECRET_KEY';

Qiniu_SetKeys($accessKey, $secretKey);

$baseUrl = Qiniu_RS_MakeBaseUrl($domain, $key);

$getPolicy = new Qiniu_RS_GetPolicy();

$privateUrl = $getPolicy-MakeRequest($baseUrl, null);

echo "==== getPolicy result: n";

echo $privateUrl . "n";

数据处理接口

七牛支持在云端对图像, 视频, 音频等富媒体进行个性化处理

1. 图像

1.1 查看图像属性

require_once("qiniu/rs.php");

require_once("qiniu/fop.php");

$key = 'pic.jpg';

$domain = 'phpsdk.qiniudn.com';

$accessKey = 'YOUR_APP_ACCESS_KEY';

$secretKey = 'YOUR_APP_SECRET_KEY';

Qiniu_SetKeys($accessKey, $secretKey);

//生成baseUrl

$baseUrl = Qiniu_RS_MakeBaseUrl($domain, $key);

//生成fopUrl

$imgInfo = new Qiniu_ImageInfo;

$imgInfoUrl = $imgInfo-MakeRequest($baseUrl);

//对fopUrl 进行签名,生成privateUrl。 公有bucket 此步可以省去。

$getPolicy = new Qiniu_RS_GetPolicy();

$imgInfoPrivateUrl = $getPolicy-MakeRequest($imgInfoUrl, null);

echo "==== imageInfo privateUrl: n";

echo $imgInfoPrivateUrl . "n";

将$imgInfoPrivateUrl粘贴到浏览器地址栏中就可以查看该图像的信息了。

1.2 查看图片EXIF信息

require_once("qiniu/rs.php");

require_once("qiniu/fop.php");

$key = 'pic.jpg';

$domain = 'phpsdk.qiniudn.com';

$accessKey = 'YOUR_APP_ACCESS_KEY';

$secretKey = 'YOUR_APP_SECRET_KEY';

Qiniu_SetKeys($accessKey, $secretKey);

//生成baseUrl

$baseUrl = Qiniu_RS_MakeBaseUrl($domain, $key);

//生成fopUrl

$imgExif = new Qiniu_Exif;

$imgExifUrl = $imgExif-MakeRequest($baseUrl);

//对fopUrl 进行签名,生成privateUrl。 公有bucket 此步可以省去。

$getPolicy = new Qiniu_RS_GetPolicy();

$imgExifPrivateUrl = $getPolicy-MakeRequest($imgExifUrl, null);

echo "==== imageView privateUrl: n";

echo $imgExifPrivateUrl . "n";

1.3 生成图片预览

require_once("qiniu/rs.php");

require_once("qiniu/fop.php");

$key = 'pic.jpg';

$domain = 'phpsdk.qiniudn.com';

$accessKey = 'YOUR_APP_ACCESS_KEY';

$secretKey = 'YOUR_APP_SECRET_KEY';

Qiniu_SetKeys($accessKey, $secretKey);

//生成baseUrl

$baseUrl = Qiniu_RS_MakeBaseUrl($domain, $key);

//生成fopUrl

$imgView = new Qiniu_ImageView;

$imgView-Mode = 1;

$imgView-Width = 60;

$imgView-Height = 120;

$imgViewUrl = $imgView-MakeRequest($baseUrl);

//对fopUrl 进行签名,生成privateUrl。 公有bucket 此步可以省去。

$getPolicy = new Qiniu_RS_GetPolicy();

$imgViewPrivateUrl = $getPolicy-MakeRequest($imgViewUrl, null);

echo "==== imageView privateUrl: n";

echo $imgViewPrivateUrl . "n";

贡献代码

Fork

创建您的特性分支 (git checkout -b my-new-feature)

提交您的改动 (git commit -am 'Added some feature')

将您的修改记录提交到远程 git 仓库 (git push origin my-new-feature)

然后到 github 网站的该 git 远程仓库的 my-new-feature 分支下发起 Pull Request

请教百度开放云上传文件到对象存储BOS的PHP源码示例

想要直接打zip压缩文件文件行要先zip文件进行解压缩才行

PclZip强压缩与解压缩zip文件PHP类PclZip library能够压缩与解压缩Zip格式压缩档(WinZip、PKZIP);且能类类档案进行处理包括产压缩档、列压缩档内容及解压缩档案等等~

【云存储源码】的内容来源于互联网,若引用不当,请发邮件usgpt@qq.com联系删除

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: