带有变量的PhP下载链接

带有变量的PhP下载链接,php,variables,post,hyperlink,download,Php,Variables,Post,Hyperlink,Download,好的,我正试图在我的网站上创建一个下载链接生成器。 我的意思是: 用户写入“列表X”,站点列出给定目录中的每个文件 每个文件都有一个数字(从0到n) 当用户键入“下载5”时,例如 它将用户重定向到下载脚本 该脚本使用户有一个弹出的下载“框” 我首先想到我可以用每个文件名创建一个数组,然后使用该数组中的位置执行“download X”命令 因此,当他将用户重定向到下载脚本时,带有用户想要下载的文件名的变量被“POST”到下载脚本中,因此头被更改 下面是我的两个问题: 1) -如

好的,我正试图在我的网站上创建一个下载链接生成器。 我的意思是:

    • 用户写入“列表X”,站点列出给定目录中的每个文件
    • 每个文件都有一个数字(从0到n)
    • 当用户键入“下载5”时,例如
    • 它将用户重定向到下载脚本
    • 该脚本使用户有一个弹出的下载“框”
  • 我首先想到我可以用每个文件名创建一个数组,然后使用该数组中的位置执行“download X”命令

    因此,当他将用户重定向到下载脚本时,带有用户想要下载的文件名的变量被“POST”到下载脚本中,因此头被更改

    下面是我的两个问题:

    1) -如何根据用户输入更改下载脚本? 2) -输入字段已用于“$\u SERVER['PHP\u SELF']”的其他用途,因此我不知道如何在没有表单的情况下“发布”变量

    这是我的简单下载脚本:

    <?php
    header('Content-disposition: attachment; filename=huge_document.pdf');
    header('Content-type: application/pdf');
    readfile('huge_document.pdf');
    ?>
    
    
    

    提前谢谢

    不要让他们输入任何东西。让每次下载都成为他们点击的链接。在链接的URL中,您将有一个带有下载的唯一标识符的查询字符串。大概是这样的:

    <a href="/path/to/downloadscript.php?id=5">Down file #6</a>
    

    谢谢你的帮助!快速提问,是否可以进行批量下载?例如,如果用户键入:“下载1-5”,它将下载从id 1到id 5的每个文件。批量是什么意思?一次下载不止一次?这样做可以实现批量下载。用户单击链接后,他们的下载将开始。然后,他们可以自由点击另一个链接并开始另一个向下,等等。还有其他问题。^^在粘贴的代码中,GET[“id”]部分是在下载脚本中还是在新文件中?正在犹豫,因为您为标题部分打开了新“”。
    <?php
    $download_id = (int) $_GET['id']; // 5
    $files = array(
        file1.pdf,
        file2.pdf,
        file3.pdf,
        file4.pdf,
        file5.pdf,
        file6.pdf  // This is the file they'll get
    );
    
    $filename = $files[$download_id];
    
    // get the file name from your array or database
    header('Content-disposition: attachment; ' . filename=$filename);
    header('Content-type: application/pdf');
    readfile($filename);
    ?>