「sabre/dav」只要十行代码让你的网站获得WebDav网盘能力
haoteby 2025-02-03 12:52 14 浏览
如今网盘已经成为我们日常中很重要的工具了,不仅仅可以和别人分享,更重要的是可以在我们不同的设备之间读取资料.
那什么是WebDav呢?
WebDav是一个Http上封装的一个文件系统,就像ftp,nfs之类的一样,只不过他是HTTP协议上的,所以他的能力受制于HTTP,但是优势也得益于HTTP,这意味着对系统更少的依赖,更容易的底层封装(比如在WebDav下对接其他存储系统).
今天介绍的sabre/dav是一个非常流行的PHP的WebDav框架,真的只要十行代码就能实现一个在线的网盘,也可以在我的电脑中接入.
先用十行代码做起来
安装他非常简单,只要使用composer加载即可:
composer require sabre/dav
创建两个目录,data和public,最终我们的目录如下:
-data
-public
-vendor
composer.json
composer.lock
index.php
创建index.php写入下面的代码:
<?php
use
Sabre\DAV;
// 引入自动加载
require 'vendor/autoload.php';
// 设置存储的目录
$rootDirectory = new DAV\FS\Directory('public');
$server = new DAV\Server($rootDirectory);
// 设置入口访问的入口文件
// 可以通过伪静态隐藏掉
$server->setBaseUri('/index.php/');
// 支持文件锁
$lockBackend = new DAV\Locks\Backend\File('data/locks');
$lockPlugin = new DAV\Locks\Plugin($lockBackend);
$server->addPlugin($lockPlugin);
// 使用内置的浏览器页面
$server->addPlugin(new DAV\Browser\Plugin());
// 完成运行
$server->exec();
访问内置的浏览器的页面
http://hostdomain/index.php/
添加到我的电脑中
进入我的电脑,右键点击添加网络位置,具体操作按照引导添加即可:
添加成功后,我们就可以像访问文件夹那样使用了:
就是这么简单,算上所有代码真的只有十行,同时我们也可以将它集成到框架中,比如ThinkPHP,你完全可以自己接管输入输出去实现.
更多功能
sabre/dav内置了许多功能和接口,我们既可以直接使用他提供的,也可以自己去封装实现.
- ACL(访问控制列表)
- 认证管理(自定义webdav的账号密码)
- 字符编码支持(自定义和不同系统间的兼容)
- 默认的浏览器访问(上面截图演示)
- DavMount标准(尽管这个标准并没有流行)
- 资源类型(支持文件类型推测,比如图片/视频/文本等)
- 文件续传标准(HTTP PATCH标准)
- 大文件支持(最大15GB却不会受制于内存限制)
- 第三方审计测评(所有的标准功能都已通过)
- 文件锁(有的客户端要求必备,比如苹果系统中的Finder)
- 支持扩展标准
- 支持WebDav属性处理和存储
- 简单的虚拟节点(就像用户文件夹里的那些文件一样)
- 支持临时文件的功能
- 虚拟文件系统(你不必须使用服务器的目录存储,你可以抽象一层文件操作,接入到其他的系统上,比如通过FTP连接其他服务器,或者更酷,接入第三方OSS)
- WebDav同步(主要用于日历和通讯录的更节约的同步)
它实际上还集成了其他的功能和插件,比如日历和通讯录,你可以根据自己的需要搭建.
相关推荐
- 手机如何检测是否被安装木马程序?如何防止路由器被黑客重置?
-
黑客攻击无线路由器有3种途径:...
- 盈盈可握的娇媚——全能美物ORICO WRE-30
-
由于工作的关系经常出差,在酒店除了一个RJ45接头,通常都没有无线网络可以提供,不可能自己携带太大的无线路由器,便携式的也买过几个,但是功能上大打折扣实在无法忍受,一直期盼能有既便携也功能丰富强大的产...
- 安卓重大锁屏密码漏洞,国产手机有几个中招了?
-
上周,一条新闻吸引了托尼注意。只用一张SIM卡,1分钟不到就能解锁你的安卓手机?...
- 零代码+免费+联网搜索:用DeepSeek+AnythingLLM搭建专属AI知识库
-
引言在信息爆炸的时代,如何高效管理私有数据并借助AI能力实现精准问答?本地私有知识库成为解决数据安全与智能化的最佳方案。本文将手把手教你使用开源工具AnythingLLM(项目地址:...
- iOS越狱更轻松?黑客破解Lightning连接器
-
IT之家(www.ithome.com):iOS越狱更轻松?黑客破解Lightning连接器近日,德国黑客StefanEsser,也就是人们熟知的i0n1c在他Twitter上表示,黑客已成功破解了...
- 如何在 Windows 11 中更改 PIN
-
#寻找数码点评派#打开Windows设置,转到帐户登录选项,然后选择PIN(WindowsHello)...
- 2019年终黑客工具盘点-最佳篇
-
2019已经匆匆溜走,在2020伊始,小兮为大家带来了2019年终工具盘点的最佳篇,将分成三个部分为大家推荐工具,分别是Windows最佳工具、Linux最佳工具和手机最佳工具。话不多说,开整!Win...
- 磁盘被 BitLocker 锁住了怎么办?教你轻松解决
-
如果你的磁盘被BitLocker锁住,通常是因为系统检测到潜在的安全风险(如硬件改动、多次密码错误等)或丢失了密钥。以下是分步解决方案:一、确认被锁原因①硬件改动:更换主板、TPM芯片或启动顺序变化可...
- 风靡全球的安全应用AppLock,同样可能泄露隐私
-
安全研究人员发现,DoMobileLtd.公司开发的知名的安卓安全应用AppLock存在多个漏洞,容易受到黑客攻击。AppLock应用锁简介AppLock在超过50个国家拥有1亿多用户,它自身支持2...
- 安卓5.1.1前所有版本曝密码漏洞,轻松乱码即可破解锁屏
-
据德州大学研究人员发现代号棒棒糖的Android5.x存在一个严重的软件漏洞,只要攻击者能拿到机子的情况下,手机若设置的是数字密码解锁方式,只要输入足够长的乱码就能绕过屏幕锁定,进入到HOME主页取...
- 手机里有钱的,这5项设置要打开,就算丢了别人也偷不走
-
随着手机支付时代的到来,可恨的坏人也紧跟支付方式的变化,改为盯上了我们的手机。如果你手机里有钱的,那么一定不要掉以轻心,做好以下5项设置,让手机里的钱的更安全。设置SIM卡锁定设置SIM卡锁定,其实就...
- 原来破解邻居家的WiFi这么难?还是用万能钥匙吧
-
我们中的许多人认为,入侵wifi就像用铁锤打破塑料锁一样,并且使用以下提到的工具也是如此。入侵无线网络只是从防御性安全转移到攻击性安全的开始部分。入侵wifi包括捕获连接的握手并使用字典攻击等各种攻击...
- 电脑开机PIN码忘记了怎么办?教你不用重装系统也可以重置
-
在使用电脑的时候,我们往往会为了保护电脑的安全,从而设置开机密码。但是总会出现PIN码忘记导致无法开机使用,特别是许多用户反复的输入错误密码导致登录次数过多或者重复的开关机,登录选项被禁用,请使用其他...
- 送你个使用锦囊 防止蓝牙耳机被“策反”
-
你每天戴的蓝牙耳机可能被定位跟踪?近日有报道称,部分蓝牙耳机存在安全漏洞,可被不法分子快速植入具有定位功能的代码,从而实现远程跟踪,甚至监听。这一话题迅速登上微博热搜榜,不少网友惊呼:自己身边居然潜伏...
- 系统小技巧:无懈可击 Windows组策略管理系统密码
-
为了保护自己的系统安全,我们一般都会为系统设置密码。不过很多人为了记忆方便,设置的都是类似“123456”这样的简单密码,或者即使设置了较为复杂的密码,但是使用的时间很长也不变化。这些密码策略其实都有...