$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;
$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 = "";
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); }