PHP скрипт работает в терминале, но не в браузере

В моем сценарии я загружаю файл XML из Интернета и распечатываю его содержимое. Проблема в том, что он не печатает содержимое в браузере, но успешно работает в терминале при использовании

php index.php

Еще одна вещь, когда я использую:

<?php $x = file_get_contents("127.0.0.1/x.xml"); var_dump($x); ?>

Он успешно распечатывает содержимое XML в браузере, но если я использую:

<?php $x = file_get_contents($ncbi_web_address."ncbi.xml"); var_dump($x); ?>

Он не печатает содержимое в браузере, но успешно печатает содержимое в терминале.

РЕДАКТИРОВАТЬ: не работает, если код помогает:

<?php header("Content-Type:text/plain");

search($query);

function search($query){
$url = "http://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/name/".$query."/XML";
//$url = "http://127.0.0.1/x.xml"; (This one working)
$xml = file_get_contents($url);
var_dump($xml);
}
?>

1 ответ

Поскольку вы отправляете HTML-документ в браузер, теги XML будут обрабатываться как нераспознанные теги HTML и игнорироваться.

добавлять

header("Content-Type: text/plain")

на вершину программы PHP.

Другие вопросы по тегам