Autor Zpráva
vecerapl
Profil
Hledám na internetu nějaký script, kterým bych zabezpečil funkčnost načítání XML z URL adresy.

Zpracovávání XML bych prováděl přes script simpleXML_load_file($url);, avšak problém může nastat hned v URL adrese, kdy může mít daná doména výpadek nebo cesta k XML se změní. Pak v mém scriptu nastane error chyba, kdy simpleXML_load_file nedokáže URL zpracovat.

Jak tohle ošetřit?
__construct
Profil
Napr. tak radí niekto v na php.net
Anonym
Profil *
Manuál:
<?php
// The file test.xml contains an XML document with a root element
// and at least an element /[root]/title.

if (file_exists('test.xml')) {
    $xml = simplexml_load_file('test.xml');
 
    print_r($xml);
} else {
    exit('Failed to open test.xml.');
}
?>
vecerapl
Profil
Tohle jsem samozřejmě zkoušel co je na php.net, ale pokud změníš URL na neexistující XML, vypíše to ERROR. A použití file_exists nepujde, to je pouze na lokální soubory a nikoliv na URL adresu. Na víc pracují až s 15-ti XML najednou a rád bych zajistil ochranu proti nefunkčnímu XML, protože pak by celý script spadl.
__construct
Profil
Anonym:
Napísal „zabezpečil funkčnost načítání XML z URL adresy“ - na to funkcia file_exist() neslúži…
__construct
Profil
vecerapl:
Tak skús najprv kontrolovať hlavičky:
<?php
$url = 'http://www.example.com';
$hlavicky = get_headers($url, 1);
echo $hlavicky['Content-Type'];
…
@moderátori: Nenapadlo ma editovať predošlý príspevok…
vecerapl
Profil
__construct:
Výborný nápad. Díky Ti ;)
Budu kontrolovat přímo hlášení HTTP 200/OK nebo 404 apod. ->
echo $hlavicky['0']

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:

0