用Oneindex分享你的OneDrive文件
近期发现了一个好玩的项目,用PHP即可实现列出你Onedrive网盘的目录。这样可以更有效的分享文件了。
而且它不占用服务器空间和流量,只是通过API引用OneDrive下载地址。
准备
- PHP5.6+ Curl支持
- onedrive 账号 (个人、企业版或教育版/工作或学校帐户)
3.一个耐心的你
安装
打开项目链接 https://github.com/donwa/oneindex clone或download到你的安装目录
打开绑定的域名,输入相关信息,关于API获取,在安装页面有两个超链接,直接点进去复制即可
注意每次获取的都不一样,要保存第一个获取的,否则等到第二步时又要重新来。
然后进入后台刷新一下缓存链接即可
设置伪静态
如果是apache可以忽略这步,因为程序根目录下的.htaccess文件已经自带,如果未开启请选择开启。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
如果是Nginx则需手动配置以下规则
if (!-f $request_filename){
set $rule_0 1$rule_0;
}
if (!-d $request_filename){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
rewrite ^/(.*)$ /index.php?/$1 last;
}
设置计划任务
你是否发现每次打开都要刷新一下打开速度太慢了?
没关系,我们可以通过crontab提示刷新缓存打开。
有关crontab的安装即使用方法前面已经介绍过了。
点击这里即可查看:https://blog.nmza.net/archives/VPS-auto-reboot.html#_label0
输入
# 添加任务
crontab -e
# 每小时刷新一次token
0 * * * * /具体路径/php /程序具体路径/one.php token:refresh
# 每十分钟后台刷新一遍缓存
*/10 * * * * /具体路径/php /程序具体路径/one.php cache:refresh
# 退出编辑器,根据所选用的编辑器不同操作方法不一样,代码略。特殊文件功能
在文件夹底部添加说明:
在onedrive的文件夹中添加README.md文件,使用markdown语法。在文件夹头部添加说明:
在onedrive的文件夹中添加HEAD.md 文件,使用markdown语法。加密文件夹:
在onedrive的文件夹中添加.password文件,填入密码,密码不能为空。直接输出网页:
在onedrive的文件夹中添加index.html 文件,程序会直接输出网页而不列目录。
配合 文件展示设置-直接输出 效果更佳
命令行模式管理
注意这里只能在php-cli模式下处理
清除缓存:
php one.php cache:clear刷新缓存:
php one.php cache:refresh刷新令牌:
php one.php token:refresh上传文件:
php one.php upload:file 本地文件 [onedrive文件]上传文件夹:
php one.php upload:folder 本地文件夹 [onedrive文件夹]例如:
上传demo.zip 到onedrive 根目录
php one.php upload:file demo.zip
上传demo.zip 到onedrive /test/目录
php one.php upload:file demo.zip /test/
上传demo.zip 到onedrive /test/目录并命名为 d.zip
php one.php upload:file demo.zip /test/d.zip
上传 up/ 到onedrive /test/
php one.php upload:file up/ /test/(怎么感觉大部分都是抄Readme.md的.....)
DEMO
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
小菜鸡
评论已关闭