该答案详细说明了如何使用传输页面记录下载以及在有人单击链接后立即开始下载文件。我最近测试了它的右键单击。
我正在使用 php 中间人来记录文件下载。格式为http://192.168.1.1/xfer.php?file=Li9zb25ncy9HTE9XX0xlYXZlIFlvdXIgSGF0IE9uLm1wMw的 URL会在 Firefox 中生成另存为...和左键单击的文件名。
这是我的 xfer.php
<?
$filename = base64_url_decode($_GET['file']);
if ($_GET['file']){
header("Cache-Control: public");
header("Content-Description: File Transfer");
header('Content-disposition: attachment; filename='.str_replace(" ", "_",basename($filename)));
header("Content-Transfer-Encoding: binary");
header('Content-Length: '. filesize($filename));
readfile($filename);
}
$fh = fopen("test.html","a");
fwrite($fh,basename($filename)."\n<br />");
fclose($fh);
function base64_url_decode($input) {
return base64_decode(strtr($input, '-_,', '+/='));
}
?>
链接到 xfer.php 的页面是
$link = "xfer.php?file=".base64_url_encode("./songs/$key");
是$key
文件名,songs
是保存文件名的文件夹。