Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    12

    Mi spiegate come "ragiona" cURL?

    Salve a tutti, non sono un programmatore professionale ma per il mio sito di fantacalcio ho avuto bisogno, dopo tanto girovagare su internet e tante prove fatte, di utilizzare la funzione cURL per recuperare un file xlm dal sito della gazzetta dello sport e salvarlo sul server del mio sito.

    In realtà lo script è di un'altro utente, ma io l'ho profondamente modificato affinchè potesse integrarsi con lo stile del mio sito e alla fine credo di esserci riuscito.

    Però mi è sorta una curiosita, come funziona realmente il cURL? Cioè, non la spiegazione tecnica, ma vorrei sapere in realtà come "ragiona", come quindi interpreta ciò che è scritto in esso per funzionare come deve.

    Perciò vi spiego come ho impostato la mia pagina, all'interno ci sono tanti contenuti in flash e poi un iframe, all'interno del quale faccio caricare un swf al cui interno vanno inserite le formazioni prese dal link al file xml in una directory del mio sito.
    Ora, il tizio da cui ho preso lo script, fa in modo che questo xml venga creato sul mio server scaricando i dati dal file xml del sito della gazzetta dello sport, e il tutto è "regolamentato" da cURL in un file a parte che chiama new.php.

    Adesso, quello che voglio sapere è: questo file funziona da solo anche senza link che lo richiamino? Perchè come detto, nella pagina principale dove ho messo l'iframe non c'è nessun riferimento a new.php, eppure riesce da solo ad aggiornare il file xml sul mio sito scaricando i dati da quello della gazzetta.

    E, detto questo, avrei una richiesta da farvi. Visto che in realtà l'aggiornamento di questo file xml non è avvenuto istantaneamente, ma mi sono accorto che sul mio sito è rimasto quello vecchio per un po' prima di aggiornarsi nonostante sul sito della gazzetta era già aggiornato, c'è un modo per farglielo fare appunto istantaneamente, in sincro con il sito della gazzetta?

    Scusate la lunghezza del post, e grazie a chi vorrà rispondermi.

  2. #2
    è impossibile rispondere alla tua domanda perchè uno dovrebbe leggere il codice del tuo sito per capire che succede

    cmq cURL ti permette di scimmiottare Firefox/Chrome/Safari/Explorer dal codice php, per fare un sunto.
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    12
    Se ho capito bene quindi il file new.php contenente codice cURL è come se fosse un browser, per cui visto che all'interno ci sono istruzioni per scaricare il file xml dalla gazzetta e riscriverlo sul mio server, fa questo tutto da solo, ho capito bene?

    Il codice comunque è questo, questo è relativo alla pagina probabili.php che è richiamata da un link sul mio sito (posto solo la parte relativa, con l'URL del mio sito oscurata, il resto lo tralascio):


    codice:
    <TABLE style="WIDTH: 550px; TEXT-ALIGN: left" cellSpacing=0 cellPadding=0 border=0>  <TBODY>  <TR>   <td colspan="20" style="width: 550px; height: 250px; vertical-align: bottom; text-align: center">  <iframe img style="z-index: 1" src="http://www.xxxxxx.org/campetto_oriz.swf?xmlPath=http://www.xxxxx.org/img/prob_form/formazione_novara.xml&amp;allowScriptAccess=value=always" frameborder="0" name="I1" marginwidth="1" marginheight="1" align="center" height="250" scrolling="no" width="550" ></iframe></td>  </TR> </TBODY> </TABLE>
    E questo è relativo a new.php contenuto dentro la directory img/prob_form sempre sul mio sito (insieme a due immagini relative al Novara che servono a caricare sull'swf del campetto caricato nell'iframe del codice sopra):

    codice:
    <?php ob_start(); if ($_GET['sq']!=''){ $sq=$_GET['sq']; } else { $sq='novara'; } $link="location: http://www.xxxxxx.org/campetto_oriz....rm/formazione_".$sq.".xml"; header("Cache-Control: no-cache"); header("$link"); ob_end_flush(); function getmicrotime( ){ list( $usec, $sec) = explode( " ", microtime( )); return ( ( float)$usec + ( float)$sec); } $start_time = getmicrotime( );   $content = file_get_contents_curl ('http://www.gazzetta.it/ssi/2011/boxes/calcio/squadre/novara/formazione/formazione.xml');    $FileProxt = 'formazione_novara.xml'; $scrivi_file=fopen($FileProxt,"w"); fwrite($scrivi_file, $content);     fclose($scrivi_file);     $end_time = getmicrotime( );   function file_get_contents_curl($url) {       $ch = curl_init();       curl_setopt($ch, CURLOPT_HEADER, 0);       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);        curl_setopt($ch, CURLOPT_URL, $url);       $data = curl_exec($ch);       curl_close($ch);       return $data; } ?>
    Come si vede nel primo codice, che poi è la pagina che si vede nel sito, i link si riferiscono solo al campetto.swf che viene caricato nell'iframe, e al file formazione_novara.xml (contenuto in img/prob_form) che viene scritto sul campetto stesso. Niente riferimenti a new.php.
    Nel secondo forse ci sono ancora rimasugli di cose che ho eliminato, c'erano anche le altre squadre ma a me serviva solo il Novara, e il link alla gazzetta da cui prendere l'xml della formazione e riscriverlo sul mio sito.

    Quindi new.php non viene toccato, ma il file formazione_novara.xml si aggiorna lo stesso da solo, e siccome io non sono un programmatore volevo sapere appunto se fa tutto da solo, come mi è parso di capire.

    Inoltre, come già ho detto prima, non lo fa istantaneamente, quindi volevo sapere se nel codice di new.php c'era qualcosa da modificare per farglielo fare in tempo reale col sito della gazzetta.

    Spero di essere stato chiaro.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.