如何使用 php/.htaccess 文件从 MySQL 数据库获取文件名的文件夹中提供文件


how to serve files in a folder with a filename fetched from mysql database using php/.htaccess file?

我必须在没有php脚本的文件夹中提供文件,并且使用从DB获取的另一个文件名。示例:这是文件的路径:"/app/123456.apk",但应提供名称"example.apk"。我的意思是当我输入"/app/123456.apk"时,它应该重命名为"/app/example.apk"。

您可以从 .htaccess 重写规则开始,该规则将表单app/*.apk的 URL 重定向到具有适当 id 的getname.php查询。 像这样:

RewriteRule ^app/(.*)'.apk$ /getname.php?id=$1 [L]

然后在getname.php中,您可以使用 $_GET['id'] 获取 id,然后在数据库中查找该 id 以查找磁盘上的文件名 ( $diskname ( 和您希望用户将其另存为的文件名 ( $savename (;

鉴于您有这些信息,您可以使用 somethig 写出文件,如下所示:

header('Content-Type: application/octet-stream');
header('Content-Length: ' . filesize($diskname)); 
header('Content-Disposition: attachment; filename=' . $savename);
readfile($diskname);