2013-06-30 2 views
0

Я пытаюсь оценить содержимое mapvar.php и сохранить его в переменной. Это код:PHP-код становится xml?

<?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(), почему это так?

+0

Как выглядит ваш mapvar.php? –

+0

Это изображение svg с переменными php. Решила в любом случае. – chintogtokh

ответ

1

mapvar.php, вероятно, отправляет заголовок Content-Type: image/svg+xml или что-то в этом роде. Вы можете изменить его позже:

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

Кроме того, нет необходимости использовать fopen или fclose с file_put_contents.

+0

Ах, это я, я изменил заголовок на mapvar.php, я не могу изменить заголовок, как ваш (не могу изменить информацию заголовка - уже отправленные заголовки). Благодарю. – chintogtokh

Смежные вопросы