Visualizzazione risultati 1 fino 10 di 10

Discussione: [PHP 5] Problema con simpleXML

  1. #1
    Guest

    Unhappy [PHP 5] Problema con simpleXML

    Salve gente, sono nuovo di queste parti ed ho un problema con le funzioni simpleXML che devo aggiungere al sito.

    Più precisamente il mio problema è qui:

    <?
    $request = simplexml_load_file('http://service.openkapow.com/gush/similarartists2.xml?artista=coldplay') or die ("Impossibile scaricare la lista degli artisti!");
    $response = file_get_contents($request);
    echo $response;
    ?>

    Ecco, la pagina stampa "Impossibile scaricare..." invece che caricare il file: quindi è un problema con la simplexml_load_file che fallisce.

    Il resto del codice è solo una prova, risolto quello dovrebbe fungere...

    Qualche idea su come risolvere questa faccenda?

  2. #2
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito

    Stai cercando di collegarti ad un server esterno, non leggi un file che risiede nel tuo account, giusto?


    -- Aut Roma Aut Nihil!

  3. #3
    L'avatar di radioradianti
    radioradianti non è connesso Utente storico
    Data registrazione
    26-11-2003
    Residenza
    Roma
    Messaggi
    1,000

    Predefinito

    Guardando l'indirizzo inoltre ho notato che c'è uno spazio dopo 'http://service.openkapow.com/'

    Quello potrebbe essere un problema.

    Ciao

    Leandro

    E' on line il numero 12 di Topolinux - Totalmente rinnovato!
    TopoLinux è anche chat! irc.azzurra.org canale #topolinux
    La semplicità di questo dono è inversamente proporzionale alla qualità della nostra amicizia

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da seneca Visualizza messaggio
    Stai cercando di collegarti ad un server esterno, non leggi un file che risiede nel tuo account, giusto?
    Sì esatto, è un server esterno. Comunque non è l'esempio giusto quello, anche se il problema è lo stesso. Ecco l'esempio giusto:

    Codice PHP:
    $flickrlink = 'http://www.flickr.com/search/?q=wacken';
    $ricerca = 'http://service.openkapow.com/gush/imgflickr.xml?link='.$flickrlink;
    $xml = simplexml_load_file($ricerca);
    flickrlink è una variabile che contiene un link URL che verrà usato come variabile, prendetelo come se fosse una stringa semplice. $ricerca invece è il link URL su un altro server, che restituisce un file in formato XML 1.0. Provate a cliccare qui:

    http://service.openkapow.com/gush/im...F%3Fq%3Dwacken

    ( se fa i capricci e da strani messaggi di errore fate refresh un po' di volte e funzionerà )

    Praticamente questo url restituisce in formato XML l'elenco delle immagini di flickr contenute nel primo URL, quello passato come parametro ( flickrlink ).

    Con la simplexml_load_file metto il risultato dentro la variabile xml. Su wamp in locale funziona...

    Lo spazio l'ho messo per sbaglio solo sul messaggio precedente... purtroppo
    Ultima modifica di gdog : 26-08-2008 alle ore 19.04.45

  5. #5
    L'avatar di Gianluca
    Gianluca non è connesso Amministratore
    Data registrazione
    15-02-2001
    Messaggi
    18,035

    Predefinito

    gdog:

    dovresti fare questo:

    1) Nel pannello di controllo rimuovere la whitelist per l'accesso agli indirizzi esterni, non ha costo in AC, richiede solo una procedura di verifica

    2) Usi CURL o fsockopen per recuperare il file esterno, lo salvi in locale in un file temporaneo e passi quello a simplexml_load_file()

    Il tutto dovrebbe funzionare
    Gianluca

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da Gianluca Visualizza messaggio
    gdog:

    dovresti fare questo:

    1) Nel pannello di controllo rimuovere la whitelist per l'accesso agli indirizzi esterni, non ha costo in AC, richiede solo una procedura di verifica

    2) Usi CURL o fsockopen per recuperare il file esterno, lo salvi in locale in un file temporaneo e passi quello a simplexml_load_file()

    Il tutto dovrebbe funzionare
    Ok va bene!

    Come faccio per il punto 1? Scusa ma mi sono appena iscritto...
    E per il punto 2 potresti suggerirmi anche come salvarlo in locale, se non è di troppo disturbo? Grazie!

  7. #7
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito

    Nel tuo pannello segui il percorso Altersito >> Risorse & Upgrades >> Server to Server
    Segui le istruzioni che trovi, non mandare il messaggio da servizi web ma dal tuo telefonino.
    Ciao!


    -- Aut Roma Aut Nihil!

  8. #8
    Guest

    Predefinito

    Ho anch'io lo stesso problema.
    Cioè, io ho un semplice script in cui chiamo l'istruzione simplexml_load_file (verso un sito esterno) e poi cerco di leggerne il contenuto. Però il risultato è la pagina bianca.
    Ho già disabilitato le restrizioni sui server esterni ma non funziona comunque.

    Usi CURL o fsockopen per recuperare il file esterno, lo salvi in locale in un file temporaneo e passi quello a simplexml_load_file()
    Come dovrei farlo?

  9. #9
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Prova così:
    Codice:
    <?php
    $url = "http://....";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_URL, $url);
    $out = curl_exec($ch);
    curl_close($ch);
    $file = @fopen("tempfile.xml", "w");
    @fwrite($file, $out);
    @fclose($file);
    ?>
    e poi
    Codice:
    $request = simplexml_load_file("tempfile.xml");
    ...
    ...

  10. #10
    Guest

    Predefinito

    Perfetto. Copiando il file in locale funziona alla grande ;)
    Grazie

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •