【问题标题】:Download .php files using $_GET PHP/Javascript使用 $_GET PHP/Javascript 下载 .php 文件
【发布时间】:2026-01-18 12:30:01
【问题描述】:

基本上我有一个网站,我是一名新的 PHP 开发人员,但无论我多么努力,我都无法下载这些垃圾。

我尝试过的以及我想要的样子。

<?php
$var = (isset($_GET['dl']) && $_GET['dl'];
if($var == "flash"){
readfile('path/to/file');
}
elseif($var == "and so on){
die('you get the point');
}
?>

我知道你必须包含标题等,但我遇到这类事情的主要问题是,当它下载时,它会下载你所在的页面,而不是我要下载的页面。

我正在尝试在 php 中发布一些其他内容,我在 .php 文件中使用注释等进行了编码,但我似乎无法正确下载文件。 感谢所有帮助

按钮也会像

<button onclick="location.href='download.php?dl=something'"/>

或者我可以使用输入。

如果您知道如何仅在 javascript/jquery 中执行此操作,那将是可行的!

编辑:我也不想每次我想将文件添加到我的下载页面时都添加新的 if/elseif 语句。我知道这可以通过定义文件类型来完成,但我不知道具体如何。向任何提供帮助的人表示敬意:3

【问题讨论】:

    标签: javascript php jquery button download


    【解决方案1】:

    要在 php 中下载文件,您需要做的就是设置标题...

    试试这个

                    header('Content-Description: File Transfer');
                header('Content-Type: application/zip');
                header('Content-Disposition: attachment; filename='.basename($var));
                header('Content-Transfer-Encoding: binary');
                header('Expires: 0');
                header('Cache-Control: must-revalidate');
                header('Pragma: no-cache');
                header('Content-Length: ' . filesize($var));
                ob_clean();
                flush();
                readfile($var);
                exit;   
    

    【讨论】:

    • 是的,但只要我把它放在那里,一旦你访问了 download.php,它就会自动下载 download.php 页面的 html。我应该把它放在哪里?
    • 那么 $var 必须包含 html 页面的路径...您还需要考虑 php 脚本在目录中的位置