在PHP中创建的文本文件中包含页面代码

时间:2016-02-23 15:20:51

标签: javascript php html

我试图从表中获取数据,使用PHP将它们写入文件并强制下载,但每当我下载文件时,它总是有页面代码加上我想要的文件。

你能看到我的PHP代码有什么问题

<?php


if (empty($_POST['file'])) {

    echo "<div>";
    echo "<h1 align='center'>ERROR:</h1>";
    echo "<p align='center'>Something is missing, please go back and check your error!</p>";
    echo "<div class='error' width='50%' height='50%' align='center'><img src='./images/error.png'/></div>";
    echo "</div>";  
}


else {

    $filename=$_POST['file'];

    $start1=$_POST['line1_start'];
    $stop1=$_POST['line1_stop'];
    $segment1=$_POST['line1_segment']; 

    $start2=$_POST['line2_start'];
    $stop2=$_POST['line2_stop'];
    $segment2=$_POST['line2_segment'];

    $start3=$_POST['line3_start'];
    $stop3=$_POST['line3_stop'];
    $segment3=$_POST['line3_segment'];


    $start4=$_POST['line4_start'];
    $stop4=$_POST['line4_stop'];
    $segment4=$_POST['line4_segment'];


    $start5=$_POST['line5_start'];
    $stop5=$_POST['line5_stop'];
    $segment5=$_POST['line5_segment'];




    $start6=$_POST['line6_start'];
    $stop6=$_POST['line6_stop'];
    $segment6=$_POST['line6_segment'];

    $start7=$_POST['line7_start'];
    $stop7=$_POST['line7_stop'];
    $segment7=$_POST['line7_segment'];

    $start8=$_POST['line8_start'];
    $stop8=$_POST['line8_stop'];
    $segment8=$_POST['line8_segment'];

    $start9=$_POST['line9_start'];
    $stop9=$_POST['line9_stop'];
    $segment9=$_POST['line9_segment'];

    $start10=$_POST['line10_start'];
    $stop10=$_POST['line10_stop'];
    $segment10=$_POST['line10_segment'];

    $start11=$_POST['line11_start'];
    $stop11=$_POST['line11_stop'];
    $segment11=$_POST['line11_segment'];

    $start12=$_POST['line12_start'];
    $stop12=$_POST['line12_stop'];
    $segment12=$_POST['line12_segment'];

    $start13=$_POST['line13_start'];
    $stop13=$_POST['line13_stop'];
    $segment13=$_POST['line13_segment'];

    $start14=$_POST['line14_start'];
    $stop14=$_POST['line14_stop'];
    $segment14=$_POST['line14_segment'];

    $start15=$_POST['line15_start'];
    $stop15=$_POST['line15_stop'];
    $segment15=$_POST['line15_segment'];

    $start16=$_POST['line16_start'];
    $stop16=$_POST['line16_stop'];
    $segment16=$_POST['line16_segment'];

    $start17=$_POST['line17_start'];
    $stop17=$_POST['line17_stop'];
    $segment17=$_POST['line17_segment'];

    $start18=$_POST['line18_start'];
    $stop18=$_POST['line18_stop'];
    $segment18=$_POST['line18_segment'];

    $start19=$_POST['line19_start'];
    $stop19=$_POST['line19_stop'];
    $segment19=$_POST['line19_segment'];

    $start20=$_POST['line20_start'];
    $stop20=$_POST['line20_stop'];
    $segment20=$_POST['line20_segment'];

    $ofile=fopen($filename,'w');
    fwrite($ofile,"1".PHP_EOL);
    fwrite($ofile,$start1);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop1.PHP_EOL);
    fwrite($ofile,$segment1.PHP_EOL.PHP_EOL);

    fwrite($ofile,"2".PHP_EOL);
    fwrite($ofile,$start2);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop2.PHP_EOL);
    fwrite($ofile,$segment2.PHP_EOL.PHP_EOL);

    fwrite($ofile,"3".PHP_EOL);
    fwrite($ofile,$start3);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop3.PHP_EOL);
    fwrite($ofile,$segment3.PHP_EOL.PHP_EOL);

    fwrite($ofile,"4".PHP_EOL);
    fwrite($ofile,$start4);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop4.PHP_EOL);
    fwrite($ofile,$segment4.PHP_EOL.PHP_EOL);

    fwrite($ofile,"5".PHP_EOL);
    fwrite($ofile,$start5);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop5.PHP_EOL);
    fwrite($ofile,$segment5.PHP_EOL.PHP_EOL);

    fwrite($ofile,"6".PHP_EOL);
    fwrite($ofile,$start6);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop6.PHP_EOL);
    fwrite($ofile,$segment6.PHP_EOL.PHP_EOL);

    fwrite($ofile,"7".PHP_EOL);
    fwrite($ofile,$start7);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop7.PHP_EOL);
    fwrite($ofile,$segment7.PHP_EOL.PHP_EOL);

    fwrite($ofile,"8".PHP_EOL);
    fwrite($ofile,$start8);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop8.PHP_EOL);
    fwrite($ofile,$segment8.PHP_EOL.PHP_EOL);

    fwrite($ofile,"9".PHP_EOL);
    fwrite($ofile,$start9);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop9.PHP_EOL);
    fwrite($ofile,$$segment9.PHP_EOL.PHP_EOL);

    fwrite($ofile,"10".PHP_EOL);
    fwrite($ofile,$start10);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop10.PHP_EOL);
    fwrite($ofile,$segment10.PHP_EOL.PHP_EOL);

    fwrite($ofile,"11".PHP_EOL);
    fwrite($ofile,$start11);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop11.PHP_EOL);
    fwrite($ofile,$segment11.PHP_EOL.PHP_EOL);

    fwrite($ofile,"12".PHP_EOL);
    fwrite($ofile,$start12);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop12.PHP_EOL);
    fwrite($ofile,$segment12.PHP_EOL.PHP_EOL);

    fwrite($ofile,"13".PHP_EOL);
    fwrite($ofile,$start13);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop13.PHP_EOL);
    fwrite($ofile,$segment13.PHP_EOL.PHP_EOL);

    fwrite($ofile,"14".PHP_EOL);
    fwrite($ofile,$start14);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop14.PHP_EOL);
    fwrite($ofile,$segment14.PHP_EOL.PHP_EOL);

    fwrite($ofile,"15".PHP_EOL);
    fwrite($ofile,$start15);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop15.PHP_EOL);
    fwrite($ofile,$segment15.PHP_EOL.PHP_EOL);

    fwrite($ofile,"16".PHP_EOL);
    fwrite($ofile,$start16);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop16.PHP_EOL);
    fwrite($ofile,$segment16.PHP_EOL.PHP_EOL);

    fwrite($ofile,"17".PHP_EOL);
    fwrite($ofile,$start17);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop17.PHP_EOL);
    fwrite($ofile,$segment17.PHP_EOL.PHP_EOL);

    fwrite($ofile,"18".PHP_EOL);
    fwrite($ofile,$start18);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop18.PHP_EOL);
    fwrite($ofile,$segment18.PHP_EOL.PHP_EOL);

    fwrite($ofile,"19".PHP_EOL);
    fwrite($ofile,$start19);
    fwrite($ofile, " --> ");
    fwrite($ofile,$stop19.PHP_EOL);
    fwrite($ofile,$segment19.PHP_EOL.PHP_EOL);

    fwrite($ofile,"20".PHP_EOL);
    fwrite($ofile,$start20);
    fwrite($ofile, " --> ");
    fwrite($ofile,$start20.PHP_EOL);
    fwrite($ofile,$segment20.PHP_EOL.PHP_EOL);



    fclose($ofile);

    header("Cache-Control: public");
    header("Content-Description: File Transfer");
    header("Content-Length: ". filesize("$filename").";");
    header('Content-Disposition: attachment; filename=" '.basename($filename).'"');
    header("Content-Type: text/plain; "); 
    header("Content-Transfer-Encoding: binary");


    echo "<h1 align='center'> SUCCESS :</h1>";
    echo "<p align='center'> The transcription has been successfully made, you can download you file by clicking on the";                  
    echo "button below.</p>";
    echo "<p align='center'> Right-click on the button below, click on 'Save link as' </p>";
    echo "<center>";
    echo "<div class='success' width='50%' height='40%' align='center'><img src='./images/success.png'/></div>";

    readfile($filename);

}

?>

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

您在输出文件之前专门输出HTML:

echo "<h1 align='center'> SUCCESS :</h1>";
echo "<p align='center'> The transcription has been successfully made, you can download you file by clicking on the";                  
echo "button below.</p>";
echo "<p align='center'> Right-click on the button below, click on 'Save link as' </p>";
echo "<center>";
echo "<div class='success' width='50%' height='40%' align='center'><img src='./images/success.png'/></div>";

如果您不希望将其包含在下载中,请将其删除。

您无法同时下载文件并在页面上显示信息。只需点击一下即可在浏览器中下载一个“内容”: 网页< em>或保存到磁盘的文件。

如果您想要显示“成功”并同时下载文件,一种常见的技巧是在页面上输出“成功”,然后将访问者重定向到下载URL,以便立即开始下载。 (通常这种页面附带“你的下载应该立即开始......”的消息,大家都不喜欢。)

相关问题