<?php
class DownAction extends Action {
//file:真实文件名(如:201308270255.txt) name:用户指定的下载文件的名称
public function down() {
if (empty($_GET['file'])){
$this->error("访问方式非法!");
exit;
}
$tmp = explode('.', $_GET['file']);
$tmp[0] = strtr($tmp[0], '_', '0');
if (!($tmp[0])){
$this->error("终止下载!");
exit;
}
$name = empty($_GET['name']) ? $_GET['file'] : $_GET['name'];
$name = urldecode(urldecode($name));
$fileurl = $_SERVER['DOCUMENT_ROOT'] . '/hsjcms/Public/picture/' . substr($_GET['file'], 0, 8) ;
if (!file_exists($fileurl)) { //检查文件是否存在
$this->error("文件不存在");
exit;
} else {
$file = fopen($fileurl, "r"); // 打开文件
// 输入文件标签
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: " . filesize($fileurl));
Header("Content-Disposition: attachment; filename=" . $name);
// 输出文件内容
echo fread($file, filesize($fileurl));
fclose($file);
/*
*
//更新数据库
$m = M('adddocs');
$strUrl = C('UPLOAD') . '/file/' . substr($_GET['file'], 0, 8) . '/' . $_GET['file'];
$rs = $m->where('docs="' . $strUrl . '"')->find();
$rs['nums']++;
$m->save($rs);
*/
exit();
}
}
} 最佳答案