joker_ (Ex-Member)
Pro
Messaggi: 182
Iscritto: 14/02/2005
|
Salve ragazzi potete aiutarmi con questo codice?
Non mi funziona? Piu specificamente durante l'elaborazione non mi riempe l'array $rss_channel_info e il primo elemento (ossia l'indice 0) dell' array $rss_items
Codice sorgente - presumibilmente Php |
<?php // function xml_start_element_handler function xml_start_element_handler($xml_parser, $element_name, $attributes) { if($element_name=="CHANNEL") $GLOBALS["xml_current_node"]=XML_CHANNEL; else if($element_name=="ITEM") $GLOBALS["xml_current_node"]=XML_ITEM; $GLOBALS["xml_current_tag_state"]=$element_name; } // function xml_end_element_handler function xml_end_element_handler($xml_parser, $element_name) { if($element_name=="ITEM") $GLOBALS["xml_items_counter"]++; } // function xml_character_data_handler function xml_character_data_handler($xml_parser, $data) { switch($GLOBALS["xml_current_node"]) { case XML_ITEM: if($GLOBALS["xml_current_tag_state"]=="TITLE") $GLOBALS["rss_items"][$GLOBALS["xml_items_counter"]]["title"]=$data; else if($GLOBALS["xml_current_tag_state"]=="DESCRIPTION") $GLOBALS["rss_items"][$GLOBALS["xml_items_counter"]]["description"]=$data; else if($GLOBALS["xml_current_tag_state"]=="LINK") $GLOBALS["rss_items"][$GLOBALS["xml_items_counter"]]["link"]=$data; break; case XML_CHANNEL: if($GLOBALS["xml_current_tag_state"]=="TITLE") $GLOBALS["rss_channel_info"]["title"]=$data; else if($GLOBALS["xml_current_tag_state"]=="DESCRIPTION") $GLOBALS["rss_channel_info"]["description"]=$data; else if($GLOBALS["xml_current_tag_state"]=="LANGUAGE") $GLOBALS["rss_channel_info"]["language"]=$data; break; } } $file_name="./rss.xml"; $xml_current_tag_state=""; $xml_current_node=-1; $xml_items_counter=0; $rss_channel_info=array(); er, "xml_character_data_handler"); if(!$fp=fopen($file_name, "r")) die("Impossibile aprire il file RSS."); while($data=fread($fp, 5120 )) if(!xml_parse($xml_parser, $data, feof($fp))) die("Impossibile analizzare il file RSS."); print("<hr>"); ?>
|
|
|
joker_ (Ex-Member)
Pro
Messaggi: 182
Iscritto: 14/02/2005
|
|
|
andriy88 (Ex-Member)
Pro
Messaggi: 118
Iscritto: 04/11/2005
|
guarda, non so cosa hai fatto, ma ho fatto solamente compia e incola del script che hai postato e mi funziona tutto...
Mi analizza i file...
|
|
andriy88 (Ex-Member)
Pro
Messaggi: 118
Iscritto: 04/11/2005
|
Ti da qualche errore?? Quale??
Il file rss.xml si trova nella stessa cartella del file php contente il codice php che hai postato?? Se no, i 2 file devono trovarsi nella stessa cartella ammeno che non modifichi lo script..
Fammi sapere..
|
|
andriy88 (Ex-Member)
Pro
Messaggi: 118
Iscritto: 04/11/2005
|
Mi ? venuta adesso questa domandina..
Ma nel file php.ini del tuo server php ? attiva la estensione per xml??
Se sta cos?..
Codice sorgente - presumibilmente Plain Text |
;extension=php_xmlrpc.dll
|
Togli il punto e virgola all'inizio e assicurati che ? presente e installata la dll "php_xmlrpc.dll", di solito deve stare nella cartella da te indicata nel file php.ini
Codice sorgente - presumibilmente Plain Text |
extension_dir = "C:\PHP\ext\"
|
(vedi che a te la cartella sicuramente si chiamer? diversamente perch? il mio php.ini ? tutto riscritto e modificato.. |
|
andriy88 (Ex-Member)
Pro
Messaggi: 118
Iscritto: 04/11/2005
|
Postato originariamente da andriy88:
i 2 file devono trovarsi nella stessa cartella ammeno che non modifichi lo script..
|
Codice sorgente - presumibilmente Plain Text |
scusa, il file php pu? trovarsi in qualsiasi cartella del sito, invece il file xml deve trovarsi nella root principale del sito..
Se voi che il file xml deve trovarsi nella stessa cartella del file php fai cos?:
Codice sorgente - presumibilmente Plain Text |
ByeBye |
|
joker_ (Ex-Member)
Pro
Messaggi: 182
Iscritto: 14/02/2005
|
io ho specificato l'errore! Il file mi viene analizzato! Per non mi viene riempita l'array rss_channel_info e il primo elemento dell'array rss_items
|
|
andriy88 (Ex-Member)
Pro
Messaggi: 118
Iscritto: 04/11/2005
|
Postato originariamente da joker_:
io ho specificato l'errore! Il file mi viene analizzato! Per non mi viene riempita l'array rss_channel_info e il primo elemento dell'array rss_items |
E' io ti dico che ho fatto solo copia e incola del codice che hai postato e mi funziona tutto corettamente, riempie gli array ecc...
Ti ho detto cosa devi fare, controlla se ? attiva estensione per file xml Ultima modifica effettuata da andriy88 il 19/01/2006 alle 15:32 |
|
joker_ (Ex-Member)
Pro
Messaggi: 182
Iscritto: 14/02/2005
|
Mettiamo in chiaro un paio di cose.
1) L'estensione xmlrpc non sta ad indicare l'estensione per abilitare il parse xml (SAX) ma sta ad indicare l'intero set di funzioni per l'xml RPC (Remote Procedure Calls). Se non sai cosa ?, documentati.
2) E' un semplice file xml senza entit? e senza dtd. Non ho usato niente di chi sa ch?, sono semplici funzioni di base, quindi non penso che sia un errore da parte mia ma un anomalia del php.
|
|