如何从没有扩展名的服务器保存文件?

时间:2012-02-29 11:41:32

标签: php html

服务器上有一个文件:files/1 其名称和扩展名存储在数据库中。 (例如:a.jpg) 是否可以将该文件下载为a.jpg而不是1?如果是,怎么样?

换句话说:

<a href='/files/1'>file</a>

应下载文件1的内容,名称为a.jpg

2 个答案:

答案 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;
}
?>