文件分享网站(快传)

模仿这个网站做的, 文件空投。
简单的实现了一遍,因为就是文件上传,文件秘钥下载。
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