• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

tposs: 基于tp5的观察存储服务。目标做成成熟的系统,目前只实现了file模块,file只是对 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

tposs

开源软件地址:

https://gitee.com/ulthon/tposs

开源软件介绍:

tposs

tp observe storage service基于tp5的观察存储服务。(不是对象存储服务,改成这个了.是我太年轻,小看了oss.)

目标

做成成熟的oss系统,支持分布式.

当前

只做了file模块,能够操作本地文件(还不是oss,只是顶多算web_file_system,能通过http接口操作文件)

todo

增加搜索,图片预览,根据格式列举,远程解压,流视频等功能,做重命名功能;

使用

搭建tp5网站,确保使用web站点,能隐藏index.php

应用目录下config有个配置access_key,访问必须带这个参数且一直才能访问

文件上传:http://oss.com/upload/sadf/sadf/sda

文件删除:http://oss.com/delete/sadf/sadf/sd/f

获取列表:http://oss.com/list/sadf/sadf/sda

目录信息:http://oss.com/info/

主机后第一个参数是操作(upload,list,info,delete),后面的是文件路径,其中.获取列表和目录信息可使用post.base_dir参数指定

安装

修改application/config.php.修改两个配置项:'host_name'=>'http://oss.com','access_key' => 'asdfsadfsda'

基本使用

配置access_key参数,上传,列表,删除,或许信息接口必须提交form.post.access_key属性,且值与配置项相同,否则退出程序.配置host_name参数,上传或列表时,会把资源拼接成完整url链接返回到json注意,每次请求都至少有一个base_dir参数,也可以忽略这个参数,在url里操作,比如下面两种方式是等价的.上传a.jpg到b目录:可以通过post请求http://oss.com/upload并带有post.access_key,post.base_dir = '/b/a.jpg'以上写法等价于http://oss.com/upload/d/a.jpg并带有post.access_key,

upload

上传文件,主机名后第一个参数为upload,即上传文件如果最后以"/"结尾则创建目录,忽略上传的文件如果最后以字符串结尾,那么上传文件例1:上传图片,上传接口为http://oss.com/upload在form中添加base_dir参数:/a/b/c/d.jpg在form中添加file参数:本地文件在form中添加access_key参数:配置的通行码提交form,如果不存在a,b,c相关目录,会创建相关目录,并将d.jpg放到该目录下,成功后返回,其中form中base_dir可以用这种形式代替:http://oss.com/upload/a/b/c/d.jpg
{    "file_path": "./data/a/b/c",    "file_name": "d.jpg",    "base_dir": "./data/a/b/c/d.jpg",    "code": 200,    "msg": "上传文件成功",    "data": {        "getExtension": "jpg",        "getSaveName": "d.jpg",        "getFilename": "d.jpg",        "url": "http://oss.com/data/a/b/c/d.jpg"    }}
例2:新建目录,当base_dir以斜线结尾时,创建目录,忽略上传的文件上传接口为http://oss.com/upload在form中添加base_dir参数:/a/b/c/e/在form中添加file参数:可为空在form中添加access_key参数:配置的通行码提交form,如果不存在a,b,c相关目录,会创建相关目录,并将d.jpg放到该目录下,成功后返回,其中form中base_dir可以用这种形式代替:http://oss.com/upload/a/b/c/e/
{    "file_path": "./data/a/b/c/e",    "file_name": "",    "base_dir": "./data/a/b/c/e/",    "code": 200,    "msg": "创建目录成功"}
其他情况:假设以上两个例子正常执行,此时调用接口http://oss.com/upload/a/b/c/d.jpg/并填写相关参数,此时会报错,这个链接是创建d.jpg的目录,但实际上相同位置已经存在一个文件名相同,不能创建.同理,调用 http://oss.com/upload/a/b/c/e 也会失败,因为相同位置已经存在一个目录名为e.

delete

删除文件和目录,如果最后以"/"结尾,那么操作目录,接受post.rm参数为true时,强制删除指定目录如果以字符串结尾,那么删除文件例子:删除目录http://oss.com/delete/a/b/c/e/form带上access_key参数.正常会返回以下结果.如果目录不存在会提示目录不存在.
{    "file_path": "./data/a/b/c/e",    "file_name": "",    "base_dir": "./data/a/b/c/e/",    "code": 200,    "msg": "删除目录成功"}
例子:删除文件http://oss.com/delete/a/b/c/d.jpgform带上access_key参数.正常会返回以下结果.如果目录不存在会提示文件不存在.
{    "file_path": "./data/a/b/c",    "file_name": "d.jpg",    "base_dir": "./data/a/b/c/d.jpg",    "code": 200,    "msg": "删除成功"}
其他情况:强制删除目录:某个目录下有文件,那不能删除目录,可以添加post.rm=true参数强制删除目录下面文件请求地址:http://oss.com/delete
参数
base_dir/a/b/c/
rmtrue
access_key配置访问码
以上方式等价于(推荐这种方式)请求地址:http://oss.com/delete/a/b/c/
参数
rmtrue
access_key配置访问码

list

列举目录,不论是否以"/"结尾,都操作目录接收参数post.l:显示详情post.h:格式化文件大小显示访问:http://oss.com/list/a并带有post.access_key可以列举a目录下的文件,其中不论是否以"/"结尾,都会列举a目录的列表,不存在则提示.一般显示如下结果:
{    "file_path": "./data/a",    "file_name": "",    "base_dir": "./data/a/",    "code": 200,    "msg": "",    "data": [        "b"    ]}
如果带有以下参数,则返回详细内容访问http://oss.com/list/a
参数意义
ltrue是否显示详情
htrue是否人性化显示,字节数转mb
access_key配置访问码
{    "file_path": "./data/a",    "file_name": "",    "base_dir": "./data/a/",    "code": 200,    "msg": "",    "data": {        "b": {            "name": "b",            "is_writeable": true,            "is_executable": false,            "is_readable": true,            "realpath": "D:\\phpStudy\\WWW\\tposs\\public\\data\\a\\b",            "url": "http://oss.com/data/a//b",            "is_dir": true,            "size": 0        }    }}
访问http://oss.com/info/a
参数意义
ratrue是否递归计算所有子目录和文件
htrue是否人性化显示,字节数转kb,mb
access_key配置访问码

info

获得目录基本信息post.ra:递归读取目录下所有文件和目录post.h:文件大小格式化
{    "file_path": "./data/a",    "file_name": "",    "base_dir": "./data/a/",    "code": 200,    "msg": "",    "data": {        "disk_free_space": "99.562 GB",        "disk_total_space": "292.969 GB",        "files": {            "file_count": 0,            "dir_count": 1,            "count": 1        },        "all_files": {            "file_count": 0,            "dir_count": 0,            "count": 0        },        "is_writeable": true,        "is_executable": false,        "is_readable": true,        "realpath": "D:\\phpStudy\\WWW\\tposs\\public\\data\\a",        "url": "http://oss.com/data/a/"    }

data

主机名/data/资源路径直接是资源路径,需要关闭debug所有操作都会返回url结果,该链接即访问路径,注意,如果资源不存在会尝试进入data模块,需要把debug关掉.注意:默认服务器不允许读取目录列表,也不建议开启该功能.

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap