Как получить RSS-каналы из файла PHP или конвертировать PHP в XML - PullRequest
0 голосов
/ 08 декабря 2011

Я создал страницу RSS-канала с помощью PHP и попытался запустить ее через JavaScript-код для чтения RSS (http://www.zazar.net/developers/jquery/zrssfeed/)

Он не распознает файл PHP как имеющий код XML.Хотя я скопировал сгенерированный код, сгенерированный из PHP, и добавил его в файл XML, и он сработал.

Есть ли способ изменить это расширение файла PHP на XML?Или сделать PHP-файл видимым для вышеуказанного кода JavaScript?

Я пытался использовать .htaccess, чтобы изменить тип файла (так как по всему этому есть учебники), но он не работал.

Можете ли вы что-нибудь порекомендовать?

Это мой код:

<?php
header ("Content-Type:text/xml");  
$xml = new SimpleXMLElement('<xml/>');

for ($i = 1; $i <= 8; ++$i) {
    $track = $xml->addChild('track');
    $track->addChild('path', "song$i.mp3");
    $track->addChild('title', "Track $i - Track Title");
}

print($xml->asXML());

?>

Ответы [ 2 ]

0 голосов
/ 08 декабря 2011

Некоторые среды не управляют файлами на основе mime-типов, а просто полагаются на расширение имени файла.Я бы изменил две вещи:

  • Вы можете попытаться заставить имя файла иметь расширение .xml / .rss.
  • Не используйте «xml» в качестве имени узла.Измените его на «плейлист» или что-то другое.

Итак, код может выглядеть примерно так:

<?php
header ("Content-Type: text/xml");
$filename = 'playlist.rss';
header ("Content-Disposition: attachment; filename=$filename");
$xml = new SimpleXMLElement('<playlist/>');
... // The rest of the code keeps as the original
?>
0 голосов
/ 08 декабря 2011

заголовок Content-Type должен быть text/xml

Ваш XML должен также соответствовать стандартам RSS http://www.rssboard.org/rss-specification, что он, вероятно, делает, поскольку вы можете успешно открыть его, когда php не отображает его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...