public function downAction() { $file = $this->FileRoot . $this->request->getQuery('file'); if (is_file($file)) { $File = new File(); $File->down($file); } else { return FALSE; } }
/** * 备份文件下载 */ public function public_down() { $admin_founders = explode(',', C('system', 'admin_founders')); if (!in_array($this->userid, $admin_founders)) { showmessage(L('only_fonder_operation')); } $datadir = $_GET['pdoname']; $filename = $_GET['filename']; $fileext = File::get_suffix($filename); if ($fileext != 'sql') { showmessage(L('only_sql_down')); } File::down(DATA_PATH . 'bakup' . DIRECTORY_SEPARATOR . $datadir . DIRECTORY_SEPARATOR . $filename); }
public function download() { $a_k = trim($_GET['a_k']); $yun_auth_key = md5($this->auth_key . $_SERVER['HTTP_USER_AGENT']); $a_k = String::authcode($a_k, 'DECODE', $yun_auth_key); if (empty($a_k)) { showmessage(L('illegal_parameters')); } unset($i, $m, $f, $t, $ip); parse_str($a_k); if (isset($i)) { $downid = intval($i); } if (!isset($m)) { showmessage(L('illegal_parameters')); } if (!isset($modelid)) { showmessage(L('illegal_parameters')); } if (empty($f)) { showmessage(L('url_invalid')); } if (!$i || $m < 0) { showmessage(L('illegal_parameters')); } if (!isset($t)) { showmessage(L('illegal_parameters')); } if (!isset($ip)) { showmessage(L('illegal_parameters')); } $starttime = intval($t); if (preg_match('/(php|phtml|php3|php4|jsp|dll|asp|cer|asa|shtml|shtm|aspx|asax|cgi|fcgi|pl)(\\.|$)/i', $f) || strpos($f, ":\\") !== FALSE || strpos($f, '..') !== FALSE) { showmessage(L('url_error')); } $fileurl = trim($f); if (!isset($downid) || empty($fileurl) || !preg_match("/[0-9]{10}/", $starttime) || !preg_match("/[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}/", $ip) || $ip != IP) { showmessage(L('illegal_parameters')); } $endtime = TIME - $starttime; if ($endtime > 3600) { showmessage(L('url_invalid')); } if ($m) { $fileurl = trim($s) . trim($fileurl); } //远程文件 if (strpos($fileurl, ':/') && strpos($fileurl, C('attachment', 'upload_url')) === false) { header("Location: {$fileurl}"); } else { if ($d == 0) { header("Location: " . $fileurl); } else { $fileurl = str_replace(array(C('attachment', 'upload_url'), '/'), array(C('attachment', 'upload_path'), DIRECTORY_SEPARATOR), $fileurl); $filename = basename($fileurl); //处理中文文件 if (preg_match("/^([\\s\\S]*?)([�-�][@-�])([\\s\\S]*?)/", $fileurl)) { $filename = str_replace(array("%5C", "%2F", "%3A"), array("\\", "/", ":"), urlencode($fileurl)); $filename = urldecode(basename($filename)); } $ext = File::get_suffix($filename); $filename = date('Ymd_his') . String::rand_string(3) . '.' . $ext; File::down($fileurl, $filename); } } }
public static function down($file) { File::down($file); }