Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: RSSLIB
Forum PHP.pl > Forum > PHP
phpsuse
Witam,

Mam problem z rsslib.php

Gdy napisaną stronę uruchamiam w Zend Debuger nie ma błędów i wszystko jest w porządku. Jednak na wrzucę plik na serwer i go uruchomię to wyskakuje mnóstwo błędów,
Skrypt ma pobierać informacje z kanałów RSS i zapisywać w bazie MySQL.

Błędy takie wyskakują tylko dla niektórych kanałów RSS. W moim przypadku 5 na 20.
Co jest nie tak. Linia 55 to
$doc->load($url);


Błędy:
Warning: DOMDocument::load() [domdocument.load]: Space required after the Public Identifier in http://rss.bankier.pl/wiadomosci/cos.xml, line: 1 in /home/przemek/public_html/cron/rsslib.php on line 55

Warning: DOMDocument::load() [domdocument.load]: SystemLiteral " or ' expected in http://rss.strona.pl/cos/cos.xml, line: 1 in /home/przemek/public_html/cron/rsslib.php on line 55

Warning: DOMDocument::load() [domdocument.load]: SYSTEM or PUBLIC, the URI is missing in http://rss.strona.pl/cos/cos.xml, line: 1 in /home/przemek/public_html/cron/rsslib.php on line 55

Warning: DOMDocument::load() [domdocument.load]: Opening and ending tag mismatch: P line 6 and BODY in http://rss.strona.pl/cos/cos.xml, line: 7 in /home/przemek/public_html/cron/rsslib.php on line 55

Warning: DOMDocument::load() [domdocument.load]: Opening and ending tag mismatch: BODY line 4 and HTML in http://rss.strona.pl/cos/cos.xml, line: 7 in /home/przemek/public_html/cron/rsslib.php on line 55

Warning: DOMDocument::load() [domdocument.load]: Premature end of data in tag HTML line 2 in http://rss.strona.pl/cos/cos.xml, line: 8 in /home/przemek/public_html/cron/rsslib.php on line 55
Babcia@Stefa
Z tego co widać sam dokument ma nie poprawną składnię, jeśli tak się dzieję z każdym plikiem RSS to poprostu użyj str_replace()" title="Zobacz w manualu PHP" target="_manual aby "w locie" usuwać błędy z dokumentów winksmiley.jpg

  1. <?php
  2. $String = '<boyd><haed>xdD</head></body>';
  3. $Errors = array('<boyd>', '<haed>');
  4. $Replaces = array('<body>', '<head>');
  5. $Valid = str_replace($Errors, $Replaces, $String);
  6. ?>


Pozdrawiam, WebNuLL(Babcia@Stefa)
phpsuse
Czyli wina leżała by po stronie złego dokumentu XML ?

Nie wiem jak mam pousuwać te znaczki ponieważ w lini
$doc->load($url);
podaję adres na innym serwerze :
$url = "http://www.cos.pl/rss/cos.xml";
i to w tej lini się sypie.

A druga sprawa ze ten sam program uruchomiony pod Zend Studio w Zend Debuger sie nie sypie i pięknie czyta ten plik z tego serwera. I poźniej bez jakichkolwiek błędów dodaje mi dane do bazy MySQL.

Przypadek sypania się występuje na kilku kanałach z różnych serwerów (za każdym razem na tych samych).
W pozostałych działa wszystko ok !

Więce nie bardzo kumam dlaczego kat się dzieje (pod zendem działa a na serwerze nie (w niektórych przypadkach))
Babcia@Stefa
A ta linia wygląda mi na linię która wczytuje i parsuje kod XML, a więc wina leży po stronie źle napisanego dokumentu XML smile.gif

Pozdrawiam, WebNuLL(Babcia@Stefa)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.