• User Attivo

    Parsing xml da flickr con codeigniter

    Ciao a tutti gli utenti del forum, ho un "piccolo" problema con Codeigniter e le api di flickr, sto sviluppando un applicazione per la ricerca delle immagini da flickr, l'applicazione deve permettere di fare questo:

    • Ricevere la risposta dal server REST di flickr in formato xml
    • Tramite XSLT salvare i risultati della ricerca in un database e converitre sempre in XSLT il file xml di risposta in un file HTML per mostrare le immagini
    • Utilizzando XQuery, nelle sua versione full-text, in modo da fare ricerche full-text e ordinare i risultati secondo la rilevanza;
      tramite XSLT, si trasformi poi l'esito del raffinamento in SQL e lo si memorizzi nel database;

    Il problema e che non riesco ad ottenere il file in formato xml,

    Controller Flickr.php

    
    <?php defined('BASEPATH') OR exit('No direct script access allowed');
      
    class Flickr extends CI_Controller {
        function __construct() {
            parent::__construct();
           
            $this->load->library('rest', array(
             'server' => 'http://api.flickr.com/services/rest/'   
             
      ));
        }
      
        function index(){
            $this->load->view('search_form');
            $this->load-library('simplexml');
           // $this->load->helper('file');
        }
        
        
      
        function search() {
            $tag = $this->input->post('tags');
           $result = $this->rest->get('', array('method' => 'flickr.photos.search',
                                                 'tags' => $this->uri->segment(3, $tag),
                                                 'per_page' => '10',
                                                 'api_key' => 'api_key',
                                                 'format' => 'xml'));
             
             
             
            //echo $result['photos']->photo[2]['id'];
            
        $rsp = simplexml_load_file($result);
    print $rsp->asXML();
        
          
      /*   $res_object = $result;
            for($p = 0; $p < 10; $p++) {
                $url[$p] = 'http://farm' . $res_object['photos']->photo[$p]['farm'] . '.static.flickr.com/' . $res_object['photos']->photo[$p]['server'] . '/' . $res_object['photos']->photo[$p]['id'] . '_' . $res_object['photos']->photo[$p]['secret'] . '_m.jpg';
                 
                echo '<img src="' . $url[$p] . '"/>';
                echo "<br />";
                echo '<h3>'. $res_object['photos']->photo[$p]['title'] . '</h3> <br />';
            }
           
            
       */
    
        
             
             
             
             
        }
    }
    
    
    

    Il problema e che genera questo errore: "Message: simplexml_load_file() expects parameter 1 to be string, array given" nella linea 33 del controller, la parte commentata del file genera l'html ma e solo a scopo di test per vedere se la ricerca funziona, ieri ero riuscito a salvare in un file xml la variabile $result ma mi salvava l'url e non il file xml di risposta, qualche idea?


  • User Attivo

    Problema risolto