【问题标题】:Download PHP generated webpage as HTML file将 PHP 生成的网页下载为 HTML 文件
【发布时间】:2012-10-16 08:46:57
【问题描述】:

我正在使用基于 PHP 的 CMS,它使用<include> 添加页面的页眉和页脚,并且页面的内容是使用 PHP/MySQL 从数据库中检索的。

我想在页面上创建一个按钮,将页面下载为 HTML 文件 - 就像您将页面源复制到空白文件或使用浏览器保存页面一样。

通常我会使用 PHP 来定位文件并下载它,因为这是一个 CMS 生成的页面,这些不是实际文件。

有谁知道如何做到这一点?

(ps - 这样做的目的是创建一个可下载的 HTML 电子邮件文件)

【问题讨论】:

    标签: php html download save


    【解决方案1】:
    <?php
    $filename = 'filename.html';
    header('Content-disposition: attachment; filename=' . $filename);
    header('Content-type: text/html');
    // ... the rest of your file
    ?>
    

    只需将上述代码放在 PHP 文件的顶部即可。

    【讨论】:

    • 他想点击一个按钮下载。你的逻辑会提出一个额外的请求。
    • 我以为他的问题是无法下载文件。您知道当您被定向到 HTML 文件时,浏览器会打开它而不是下载它。所以我的代码强制浏览器下载它。
    • 我同意你说的。可能是他的解决方案是(我们的两个解决方案)的混合。我的解决方案将准备文件和链接。点击链接后,他将被引导到您的页面,并强制他下载。
    • 我同意,它是两者的混合体。
    • 如果 PHP 文件中的字体包含 'UFT8' 字符,那么这段代码是否可以正确生成 HTML?
    【解决方案2】:

    你可以用 file_get_contents() 试试这个;

    <?php
    
     //Link to download file...
     $url = "http://example.com/test.php";
    
     //Code to get the file...
     $data = file_get_contents($url);
    
     //save as?
     $filename = "test.html";
    
     //save the file...
     $fh = fopen($filename,"w");
     fwrite($fh,$data);
     fclose($fh);
    
     //display link to the file you just saved...
     echo "<a href='".$filename."'>Click Here</a> to download the file...";
    
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-28
      • 2012-04-04
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多