0

mapvar.php の内容を評価して変数に保存しようとしています。これはコードです:

<?php
$filename = strval(rand(0,99999999999)).'.svg';
$fp=fopen($filename, 'wb+');

ob_start();
include 'mapvar.php';
$output = ob_get_clean();
ob_flush();

file_put_contents($filename,$output);
?>

<form action="download.php" method="post">
    <input type="hidden" name="filename" value="<?php echo $filename ?>" />
    <input type="submit" value="dl" />
</form>
<?php fclose($fp); ?>

何らかの理由で、ファイルを開くと、次のメッセージが表示されます (Chrome と FF の両方で):

「この XML ファイルにはスタイル情報が関連付けられていないようです。ドキュメント ツリーを以下に示します。」

...そして、評価された html コード。

ob_start() が原因のようですが、これはなぜですか?

4

1 に答える 1

1

mapvar.phpおそらくContent-Type: image/svg+xmlヘッダーなどを送信します。後でオーバーライドできます。

$output = ob_get_clean();
ob_flush();
header('Content-Type: text/html');

また、fopenorfcloseを使用する必要はありませんfile_put_contents

于 2013-06-30T15:14:25.053 に答える