服务器上有一个文件:files/1
其名称和扩展名存储在数据库中。 (例如:a.jpg)
是否可以将该文件下载为a.jpg
而不是1
?如果是,怎么样?
换句话说:
<a href='/files/1'>file</a>
应下载文件1
的内容,名称为a.jpg
答案 0 :(得分:1)
如果我能很好地解释你的问题,那么:
htaccess的:
RewriteEngine On
RewriteRule ^([^/]*)\$ /getfile.php?fn=$1 [L]
然后getfile.php读取哪个文件对应于$ _GET [“fn”]并输出。
答案 1 :(得分:1)
来自php.net manual的例子:
<?php
$file = 'monkey.gif';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>