PHP下载脚本。下载脚本和列表脚本是否应该在单独的文件中?

PHP下载脚本。下载脚本和列表脚本是否应该在单独的文件中?,php,download,Php,Download,这是我在这里的第一篇文章。尝试使用搜索,但找不到类似的讨论(我知道有很多例子如何做到这一点,但没有一个解释你是否应该使用一个或两个文件以及为什么这样做) 我有一个download.php文件,其中列出了可下载的文件。下载链接链接到同一个页面,带有_获取实际下载的参数 在任何实际输出之前,将下载文件的头放在同一.php页面的顶部是否安全?或者我应该使用不同的.php文件进行实际下载,并列出可下载的文件 它工作得很好,但是我以后会遇到这种代码的问题吗 我这样做的原因是为了避免将ppl从列表中重定向。

这是我在这里的第一篇文章。尝试使用搜索,但找不到类似的讨论(我知道有很多例子如何做到这一点,但没有一个解释你是否应该使用一个或两个文件以及为什么这样做)

我有一个download.php文件,其中列出了可下载的文件。下载链接链接到同一个页面,带有_获取实际下载的参数

在任何实际输出之前,将下载文件的头放在同一.php页面的顶部是否安全?或者我应该使用不同的.php文件进行实际下载,并列出可下载的文件

它工作得很好,但是我以后会遇到这种代码的问题吗

我这样做的原因是为了避免将ppl从列表中重定向。现在,您只需单击所需文件,即可立即开始下载,同时保持在同一页面中(下载多个文件更容易/更快)

我现在只做了几个月的专业程序员,我想学习正确的/好的方法。。。不仅是目前的工作方式

页面来源如下(简而言之):


只需在读入文件($file\u url)之后添加die()或exit()或将html放在else语句中,就不会有问题:)

这个问题似乎离题了,因为它是关于CodeReview的(也许在那里发布这个问题更合适)。
<?php

CheckForLogin();

// download script for the actual download
if(isset($_GET['id']) {

    $temp_path = GetPathFromDatabase($_GET['id']);

    header('Content-Type: application/pdf');
    header("Content-Transfer-Encoding: Binary");
    header("Content-disposition: attachment; filename=$temp_path");
    readfile($file_url);
}

<!DOCTYPE html>
<html lang="en">
<head>
...
</head>

<body>
...
// download link
<a href="download.php?id=xxx">Download</a>
...
</body>

?>