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.