本人不会 PHP 框架,所以直接码代码了,大神轻打!
模仿这个网站做的, 文件空投
简单的实现了一遍,因为就是文件上传,文件秘钥下载。
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);
}
}
详细看我博客:文件快传网站及源码
我怕大神说我骗访问量,所以我直接贴上源码下载地址吧!
网站源码下载:PHPUpLoad.7z
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.