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

时间:2014-07-23 12:47:41

标签: php download

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

我有一个download.php文件,其中列出了可下载的文件。使用_GET参数下载指向同一页面的链接,以便进行实际下载。

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

它工作正常,但是我可以在以后用这种代码遇到问题吗?

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

我几个月来一直只是一名专业程序员,我想学习正确/好的方式 ......不仅仅是目前的工作方式。< / p>

页面来源就像这样(简而言之):

<?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>

?>

1 个答案:

答案 0 :(得分:0)

只需在after 读取文件($ file_url); 中添加die()或exit(),或将html放在else语句中,就没有问题了:)