通过 IDM(Internet 下载管理器)使用 PHP 下载文件

Downloading a file using PHP through the IDM (Internet Download Manager)

我正在开发一个网页,用户可以在其中下载文件,但只能在接受许可后才能下载,所以我使用 PHP 来检查用户是否检查了许可并且不泄露文件的 URL,代码可以正常工作(下载),这是代码:

$fileName = $_GET['AppName'] . " - Setup.exe";

$path = 'JO9E/' . $fileName;
$size = filesize($path);

header('Content-Type: application/octet-stream');
header('Content-Length: ' . $size);
header('Content-Disposition: attachment; filename=' . $fileName);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');

$file = @ fopen($path, 'rb');

if($file) {
    $_SESSION["TEMP"] = "nO";
    fpassthru($file);
    echo "<script type='text/javascript'>window.close();</script>";
}

但现在我的问题是:

我的电脑上安装了 IDM(Internet 下载管理器),当我想下载文件时... IDM 显示下载文件的下载框,显示 PHP 文件路径,并且 也不会下载文件 当我点击开始下载时,它失去了连接。

现在我可以毫无问题地显示 PHP 文件路径,因为它不会下载任何东西,除非用户接受许可并来自正确的网页,但我想要 至少用户即使安装了 IDM 也能够下载文件,因为在此设置中如果用户安装了 IDM,他必须关闭集成功能IDM为了通过浏览器正确下载文件


希望有人能帮我解决这个问题。

你应该在你的下载旁边放一个小说明 link right click and press Save As

IDM 浏览器扩展捕获所有具有在 IDM 中选择的扩展名的文件options.so它在 bowser 级别。