模仿这个网站做的, 文件空投。
简单的实现了一遍,因为就是文件上传,文件秘钥下载。
PHP 的源码,我没用数据库,因为想着简单的实现,就用 Json 存储了。
使用到的开源项目:https://github.com/fising/big-file-uploader (因为支持分片和大文件上传,懒得写一遍了~)
我加的源码:
<?php
header('Content-type:text/json'); // 规定返回的内容是 Json 数据
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$jaonDataName = 'files/data.json';
// 文件存储位置
$filePath = getPath();
// 从文件中读取数据到 PHP 变量
$json_string = file_get_contents($jaonDataName);
// 把 JSON 字符串转成 PHP 数组
$datas = json_decode($json_string, true);
// 显示出来看看
// echo var_dump($datas);
if (isset($_REQUEST['key'])) {
foreach ($datas as $key => $value) {
if (in_array($_REQUEST['key'], $value)) {
echo json_encode([
'status' => 0,
'message' => $value
]);
exit();
}
}
echo json_encode([
'status' => 1,
'message' => '文件不存在'
]);
} else {
//保存上传的文件
$return = saveFile($filePath);
//文件保存成功
if ($return['status'] == 0) {
$name = isset($_POST['name']) ? trim($_POST['name']) : '';
// 添加新的数据
array_push($datas, array('key' => $return['key'], 'value' => $filePath . DIRECTORY_SEPARATOR . $return['name']));
// 把 PHP 数组转成 JSON 字符串
$json_string = json_encode($datas);
// 写入文件
file_put_contents($jaonDataName, $json_string);
}
// 输出到界面
echo json_encode($return);
}
}
文章转载自:http://blog.zgcwkj.cn/archives/866.html
源码下载地址:
下载地址一:PHPUpLoad.7z
百度下载链接:https://pan.baidu.com/s/1_dUVO0pmDpQVYJJcOKFQqg
提取码:64cu
本文属原创,转载请注明原文:https://pangsuan.com/p/2019-618.html
评论 (0)