1

次の出力htmlコードでtxtファイルを生成する必要があります

<?php
function video() {
  $video = 'BYN-DEM7Mzw';
  echo '<script type="text/javascript">
    function youtubeFeedCallback( data ){
      document.writeln( data.entry[ "media$group" ][ "media$description" ].$t.replace( /\n/g, "<br/>" ) + "<br/>" ); }
    </script>
    <script type="text/javascript" src="http://gdata.youtube.com/feeds/api/videos/'.$video.'?v=2&amp;alt=json-in-script&amp;callback=youtubeFeedCallback"></script>';
}
ob_start();
video();
$output = ob_get_clean();
$desc = $output;
$video = 'BYN-DEM7Mzw';
$arq = $video.".txt";
$f = fopen($arq, "w+");
fclose;
$f = fopen($arq, "a+");
$content = "";
if(filesize($arq) > 0)
$content = fread($f, filesize($arq));
fwrite($f, $desc);
fclose($f);
?>

出力htmlではなく、ファイルがスクリプトを保存しているという問題

4

1 に答える 1

0

正しいヘッダーと正しいMIMEを使用する必要があると思います。

例えば

header('Content-Description: File Transfer');
header('Content-type: text/plain');
header('Content-Disposition: attachment; filename='.$file);
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));

if ($file != '')
{ 
    echo file_get_contents($file);
}
于 2012-07-20T13:41:27.910 に答える