Autor Zpráva
Javař
Profil *
Dobrý den, mám stránku http://cs.wikipedia.org/w/api.php?format=xml&action=query&prop=revisions&titles=Praha&rvprop=timestamp|user|comment|content
a chci z ní načíst obsah tagu rev do stringu v PHP.

Pomocí simple_xml_load() se mi to nedaří. V čem je problém?
Radek9
Profil
Javař:
Pomocí simple_xml_load() se mi to nedaří. V čem je problém?
Tipuji chybu na 13. řádku. :-)
Javař
Profil *
<?php
$string = simplexml_load_file("http://cs.wikipedia.org/w/api.php?format=xml&action=query&prop=revisions&titles=Praha&rvprop=timestamp|user|comment|content");
if ($string) echo 1;
?>


A nic nevypíše. Poradíte?
Davex
Profil
Zapni si vypisování chyb error_reporting(E_ALL). Skript pak vypíše varování:
Warning: simplexml_load_file(http://cs.wikipedia.org/w/api.php?format=xml&...)
  [function.simplexml-load-file]: failed to open stream:
  HTTP request failed! HTTP/1.0 403 Forbidden in ... on line 2

To znamená, že skript má k obsahu zakázaný přístup. Pravděpodobně je to způsobeno tím, že PHP neposílá HTTP hlavičku User-Agent, což lze vyřešit vytvořením souboru .htaccess v adresáři se skriptem a následujícím obsahem:
php_value  user_agent  "PHP/5"

Pokud to nebude fungovat a server bude vracet chybu 500, tak je potřeba poprosit hosting.
Javař
Profil *
Děkuji, vytvořil jsem ten soubor a funguje to!
m.cut
Profil
Ahoj, mam podobný problem ovšem po přidání do .htaccess
php_value  user_agent  "PHP/5"

mi wedos hodi Chyba 500 - Internal Server Error

lze to vyřešit ješte jinak?
Děkuji
okolojsoucí
Profil
Co třeba pomocí curl?
juriad
Profil
http://kb.wedos.com/webhosting/chyba-500.html
V souborech .htaccess na webhostingu není možno používat:
php_value

Stáhni obsah stránky například pomocí curl a pak to předhoď simplexml_load_string.
Alphard
Profil
Alternativně jde soubor stáhnout k sobě s pomocí contextu obsahujícího potřebné informace a až pak zpracovával xml.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: