示例#1
0
文件: Engine.php 项目: nsdown/ffs
 $info = FILE_REINFO($id);
 if ($info == false) {
     ERROR('分享码无效', '该文件分享码错误,可能不是正确的分享码,或者对应文件已被删除。');
 }
 /*检测密码是否正确*/
 if (!empty($_POST['info_pw'])) {
     if ($info['pw'] != trim($_POST['info_pw'])) {
         ERROR('登陆错误', '分享码或管理密码错误!');
     } else {
         //密码正确
         if (!empty($_POST['fileEdit'])) {
             //如果获取到是修改文件信息的提交
             $info['name'] = trim($_POST['info_name']);
             $info['pw'] = trim($_POST['info_pw']);
             $info['info'] = trim($_POST['info_info']);
             FILE_MKINFO($info);
         }
         if (!empty($_POST['fileDel'])) {
             FILE_DELETE($info['id']);
             header('location:index.php');
         }
     }
 } else {
     ERROR('警告', '请通过正确的方式来访问本页面!');
 }
 /*生成,猜你喜欢*/
 $data = FILE_SEARCH('type', $info['type']);
 if (count($data) < 3) {
     $rands = count($data);
 } else {
     $rands = 3;
示例#2
0
文件: Engine.php 项目: nsdown/ffs
     $FFS['html']['tag']['{html:FILETYPE}'] = $file['type'];
     $FFS['html']['tag']['{html:FILESIZE}'] = STR_FILESIZE($file['size']);
     $FFS['html']['tag']['{html:FILETIME}'] = date('Y-m-d H:i:s', $file['time']);
     $FFS['html']['tag']['{html:FILEIP}'] = $file['ip'];
     $FFS['html']['tag']['{html:FILELAST}'] = date('Y-m-d H:i:s', $file['last']);
     $FFS['html']['tag']['{html:FILEDOWN}'] = $file['down'];
     $FFS['html']['tag']['{html:FILEINFO}'] = $file['info'];
     /*获取编辑数据*/
     if (!empty($_POST['thisfile_update'])) {
         $file = FILE_REINFO($_POST['FILEKEY']);
         $file['id'] = $_POST['FILEKEY'];
         $file['name'] = $_POST['FILENAME'];
         $file['pw'] = $_POST['FILEPASS'];
         $file['down'] = $_POST['FILEDOWN'];
         $file['info'] = $_POST['FILEINFO'];
         FILE_MKINFO($file);
         STR_EDITNOTICE('Edit_File_Is_Ok!');
     }
 } elseif (ACT == 'fileList') {
     $FFS['html']['path'] = ROT . 'glob/admin/fileList.html';
     /*先检索数据*/
     if (!empty($_POST['data'])) {
         header("Location:admin.php?mode=admin&action=fileList&filter={$_POST['filter']}&data={$_POST['data']}");
     }
     if (!empty($_GET['data'])) {
         $data = trim($_GET['data']);
         $filter = trim($_GET['filter']);
     } else {
         $data = "";
         $filter = "";
         $searchword = "";
示例#3
0
文件: glob.php 项目: janethan/ffs
function FILE_OUTPUT($files, $speed, $disposition = false)
{
    //域名检测
    STR_SITEBAN(URL, $files);
    // ------
    $IsHttpRange = false;
    // --- 断点续传判断 ---
    if (isset($_SERVER['HTTP_RANGE']) && $_SERVER['HTTP_RANGE'] != '') {
        $IsHttpRange = true;
    }
    // --- 开始输出 ---
    @set_time_limit(86400);
    header('Content-type: application/octet-stream');
    header('Accept-Ranges: bytes');
    header('Pragma: no-cache');
    header('Cache-Control: max-age=0');
    header('Expires: -1');
    // --- 文件大小 ---
    $filepath = FILE_MKPATH($files['id'], false) . "{$files['id']}.dat";
    $VAL_FNAME = iconv("UTF-8", "GBK", PREFIX_AD . $files['name'] . '.' . $files['type']);
    $FILESIZE = filesize($filepath);
    $file = fopen($filepath, 'rb');
    // --- 是否在线预览 ---
    if ($disposition) {
        header('Content-Disposition: inline; filename="' . $VAL_FNAME . '"');
    } else {
        header('Content-Disposition: attachment; filename="' . $VAL_FNAME . '"');
    }
    //断点
    if ($IsHttpRange) {
        //断点
        $LowerHTTPRange = str_replace('bytes=', '', trim(strtolower($_SERVER['HTTP_RANGE'])));
        list($HTTPRangeMin, $HTTPRangeMax) = explode('-', $LowerHTTPRange);
        if ($HTTPRangeMin == 0) {
            //从断点0开始
            $IsHttpRange = false;
        } else {
            fseek($file, $HTTPRangeMin);
            header('Content-Length: ' . ($FILESIZE - 1 - $HTTPRangeMin));
            header('Content-Range: bytes ' . $HTTPRangeMin . '-' . ($FILESIZE - 1) . '/' . $FILESIZE);
            header('HTTP/1.1 206 Partial Content');
        }
    } else {
        //浏览器请求的全新文件
        $IsHttpRange = false;
    }
    if ($IsHttpRange === false) {
        //===没断点===
        //下载计数
        $files['down'] = $files['down'] + 1;
        $files['last'] = time();
        if (count($files) == 11) {
            FILE_MKINFO($files);
        }
        header('Content-Range: bytes 0-' . ($FILESIZE - 1) . '/' . $FILESIZE);
        header("Content-Length: " . $FILESIZE);
    }
    //Start Download
    while (!feof($file)) {
        //有速度限制
        $speed = $speed * 1024;
        if (connection_aborted()) {
            exit;
        } else {
            if ($speed == '0') {
                echo fread($file, 8192);
                ob_flush();
                flush();
            } else {
                if ($speed <= 8192) {
                    echo fread($file, $speed);
                } else {
                    $echoSize = 0;
                    for (; $echoSize < $speed;) {
                        if ($speed - $echoSize > 8192) {
                            echo fread($file, 8192);
                            $echoSize += 8192;
                        } else {
                            echo fread($file, $speed - $echoSize);
                            $echoSize += $speed - $echoSize;
                        }
                    }
                }
                ob_flush();
                flush();
                sleep(1);
            }
        }
    }
    fclose($file);
}