生成html文件并使用php下载

时间:2014-02-19 20:40:27

标签: php html download

第一个目标:创建一个index.html文件并创建一个链接以下载生成的文件

这里的问题是,当我点击生成新文件时,下载的文件始终相同且未更新

变量$content已经整个html页面包含<headers><aside> and <sections>

我有以下代码

if( empty( $error )){
       echo "<h3>File generated</h3>";
       $my_file = 'index.html';
       if (file_exists($my_file)) {
            if(unlink($my_file)){
            };
            $new_file = 'index.html';
            $handle = fopen($new_file, 'w') or die('Cannot open file:  '.$new_file);
            $data = $content;
            fwrite($handle, $data);
            fclose($handle);

            echo "<a download='index.html' href='index.html'><b class='download'>Download</b></a>";
        } else {
            $new_file = 'index.html';
            $handle = fopen($new_file, 'w') or die('Cannot open file:  '.$new_file);
            $data = $content;
            fwrite($handle, $data);
            fclose($handle);
            echo "<a download='index.html' href='index.html'><b class='download'>Download</b></a>";
        }

1 个答案:

答案 0 :(得分:0)

嗨,我认为如果变量$ content将包含正确的数据并且您有权读取,更新,创建文件,那么它将起作用。在代码中我使用file_put_contents函数来最小化代码

if( empty( $error )){
    echo "<h3>File generated</h3>";
    $my_file = 'index.html';
    file_put_contents($my_file, $content);   
    echo "<a download='index.html' href='index.html'><b class='download'>Download</b></a>";
 }

更新: 您确定已正确生成内容且$ content始终包含不同的值吗?