dsfdf854456 2015-01-26 08:23
浏览 16
已采纳

如何在同一个脚本中强制下载不同的.pdfs?

I have a webpage with 3 links.

When someone clicks on the link it redirected them to redirect.php and force-downloads the respective .pdf. Why is it that, all 3 links force-download the same .pdf file? How do I make it so each link downloads a different .pdf file?

  • 写回答

1条回答 默认 最新

  • dts777777 2015-01-26 08:32
    关注

    You could read out the value of the paramter of the _GET Variable "dl" with $_GET['dl'].

    <?php
    if (isset($_GET['dl'])) {
      switch ($_GET['dl']) {
        // whitelist of downloadable files
        case  "mypdf1.pdf": 
        case  "mypdf2.pdf": 
        case  "mypdf3.pdf": 
          $file = basename($_GET['dl']);
        default: 
          die("no such file");
      }
    } else {
      die("bad request");
    }
    
    // provide file  
    header('Cache-control: private'); 
    header('Cache-Control: no-store, no-cache, must-revalidate'); 
    header('Cache-Control: pre-check=0, post-check=0, max-age=0'); 
    header('Pragma: anytextexeptno-cache', true); 
    header('Content-type: application/pdf'); 
    header("Content-Disposition: attachment; filename=$file"); //external 
    header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT'); 
    header('Expires: 0');
    readfile("hiddenfiles/$file");    
    

    HTML

      <a href="redirect.php?dl=mypdf1.pdf" target='_blank'>mypdf1.pdf</a>
      <a href="redirect.php?dl=mypdf2.pdf" target='_blank'>mypdf2.pdf</a>
      ...
    

    If you want all 3 at once, than you could provide an archive like zip or tar.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 请问如何在openpcdet上对KITTI数据集的测试集进行结果评估?
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路
  • ¥15 phython读取excel表格报错 ^7个 SyntaxError: invalid syntax 语句报错