我有一堆文件位于网络服务器的非公共区域。文件可能非常大,应该可以通过动态生成的临时链接访问(例如有效1小时)。经常提到的一个解决方案是使用哈希并检查PHP是否仍然有效,然后从PHP脚本流式传输文件:
<?
$hash = $_GET['hash'];
if (hash == OK)
{
header("Content-Type: ...");
readfile(‘/path/of/file.zip");
}
?>
假设用户的互联网连接非常慢,那么PHP脚本可能会在30秒后超时。 我认为更好的解决方案是mod_rewrite,但是如何正确完成?:
RewriteEngine On
// Check if hash is ok. If true get real filename from php and stream it's content