Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29
  1. #1

    Http request in php come?

    Ciao ragazzi, vi spiego meglio cosca vorrei fare.. praticamente vorrei prelevare da questo sito http://xboxapi.duncanmackenzie.net/g...merTag=ar3s+87 le informazioni che mi servono e riportarle nella mia pagina php , premetto che comunque la pagina sopra indicata viene mostrata coem file xml o simile quindi a me basterebbe solamente prelevare queste informazioni:

    <PresenceInfo>
    <Valid>"valore"</Valid>
    <Info>"valore"</Info>
    <Info2>"valore"</Info2>
    <LastSeen>"valore"</LastSeen>
    <Online>"valore"</Online>
    <StatusText>"valore"</StatusText>
    <Title>"valore"</Title>
    </PresenceInfo>

    Se volessi prelevare uno di questi "valori", e riportarli nella mia pagina come devo fare?
    Spero mi possiate aiutare. Ciao

  2. #2
    Devi usare i Socket o le cURL per connetterti al sito, prelevare il sorgente, e poi elaborarlo come ti pare.

  3. #3
    dove posso trovare un esempio di quello che dici tu? c'è qualche guida?

  4. #4
    Non ci vuole poi tanto
    Codice PHP:
    <?php
        $sito 
    "xboxapi.duncanmackenzie.net";
        
    $uri "/gamertag.ashx?GamerTag=ar3s+87";
        
        if (!(
    $sock fsockopen($sito,80)))
            die (
    "Errore connessionen");

        
    fputs ($sock,
            
    "GET $uri HTTP/1.1\r\n".
            
    "Host: $sito\r\n".
            
    "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; it; rv:1.9) Gecko/2008052906 Firefox/3.0\r\n".
            
    "Accept-Language: it-it,it;q=0.8,en-us;q=0.5,en;q=0.3\r\n".
            
    "Keep-Alive: 300\r\n".
            
    "Connection: Keep-Alivern\r\n\r\n");
        
        
    $pagina "";
        while (!
    feof($sock))
            
    $pagina .= fgets($sock);

        
    fclose($sock); 
        
        
    $s explode("\r\n\r\n"$pagina);
        
    $sorgente $s[1];
        
        
    //dentro a $sorgente hai il sorgente della pagina
        
    echo $sorgente;
    ?>
    questo ti preleva il sorgente, per fare il resto basta usare SimpleXML, e ti leggi i tag XML prelevando quello che ti interessa.

  5. #5
    io ho trovato questo già bello pronto non è che ne capisco molto ma cmq se lo provi ti accorgerai che non aggiorna i dati perchè la chache non viene eliminata, come posso fare a far in modo che vengo aggiornato ongni tot minuti ?

    Codice PHP:
    <?php
    /*

        Usage: <?php echo xboxGamercard('GamerTag'); ?>
        
        The gamercard info is cached as a text file for speed and server load purposes.  By default, 
        the cache will not be older than 15 Minutes.
        
        You will have to adjust the path to the images folder.
        
    */

    function xboxGamercard($tag 'JAY BUZ'$gamesAmount 5)
    {
        
    $tag urlencode($tag);
       
        
        
    $abstand time() - $file[0];
        
    $timeout 15// minutes
        
        
    if ($abstand $timeout*60 || $tag != $file[1])
        {
            
    $data file_get_contents('http://xboxapi.duncanmackenzie.net/gamertag.ashx?GamerTag='.$tag);  
            
            
    $xml = new SimpleXmlElement($dataLIBXML_NOCDATA);
            
            
            
    $gamerTag str_replace("+"," "$tag);
            
    $gamerMembership $xml->AccountStatus;
            
    $match preg_match('#seen (.+?) (ago|  playing)#'$xml->PresenceInfo->Info$gameStatusTime);
            
    $gameStatusTime $match ', '.$gameStatusTime[1] : '';
            
    $gamerStatus $xml->PresenceInfo->Online == 'true' '<span id="online">Online</span>' '<span id="offline">Offline</span>';
            
    $gamerplayng $xml->PresenceInfo->Info;
            
    $gametitle $xml->PresenceInfo->Title;
            
    $gamerplaynggame $xml->PresenceInfo->Info2;
            
    $gamerTile $xml->TileUrl;
            
    $gamerRep round(($xml->Reputation)/5);
            
    $gamerScore $xml->GamerScore;
            
    $gamerZone $xml->Zone;
            
    $games $xml->RecentGames->XboxUserGameInfo;
            
            
    $i 0;
            foreach (
    $games as $game)
            {
                
    $image $game->Game->Image32Url;
                
    $name $game->Game->Name;
                
    $myScore $game->GamerScore;
                
    $totalScore $game->Game->TotalGamerScore;
                
                if (
    $i $gamesAmount)
                
    $gameList .= '[img]'.$image.'[/img]';
                
    $i++;
            }
            
            
    $cacheString time()."\n".
                            
    $tag."\n".
                            
    $gamerMembership."\n".
                            
    $gamerStatus."\n".
                            
    $gamerplayng."\n".
                            
    $gametitle."\n".
                            
    $gamerplaynggame."\n".
                            
    $gamerTile."\n".
                            
    $gamerRep."\n".
                            
    $gamerScore."\n".
                            
    $gamerZone."\n".
                            
    $gameList;
        }
        else
        {
            
    $tag $file[1];
            
    $gamerTag str_replace('%20',' '$tag);
            
    $gamerMembership $file[2];
            
    $gamerStatus $file[3];
            
    $gamerplayng $file[4];
            
    $gametitle $file[5];
            
    $gamerplaynggame $file[6];
            
    $gamerTile $file[7];
            
    $gamerRep $file[8];
            
    $gamerScore $file[9];
            
    $gamerZone $file[10];
            
    $gameList $file[11];
        }

        
    $gamerRep "../imgs/xboxRep/rep".$gamerRep.".png";
        
        
    $output '
                <div class="gamerCard">
                    [img]'
    .$gamerTile.'[/img]
                    <h2>[url="http://profile.mygamercard.net/'
    .$tag.'"]'.$gamerTag.'[/url]</h2>
                    

    [size="1"]GamerScore: <span>'
    .$gamerScore.'
    '
    .$gamerStatus.'
    '
    .$gamerplayng.'
    '
    .$gamerplaynggame.'</span>[/size]</p>
                    <div class="recentGames">'
    .$gameList.'</div>
                </div>'
    ;
        
        return 
    $output;
    }
    ?>
    <?php 
    echo xboxGamercard('Ar3s 87'); ?>

  6. #6
    beh, leggendo lo script dovrebbe già farlo
    Codice PHP:
      $timeout 15// minutes 
    sembra proprio che si aggiorni ogni 15 minuti, modifica questo valore se non ti va bene!

  7. #7
    un ultima domanda, leggendo in rete ho letto che la funzione CURL velocizzerebbe di molto l'operazione di prelievo delle ifnormazioni ma come dovrei fare per richiamare questa funzione tu sai come ?

  8. #8
    Tutto fatto, mi sorge solo un dubbio ora spero qualcuno possa aiutarmi...
    Codice PHP:
    $output '<div id="accordion">
            <div class="toggler" >'
    .$gamerTag.'</div>[img]images/'.$Status.'.png[/img]
             <div class="element">
             <table border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td class="bg"><table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="147" height="300" align="center" valign="top">[img]http://avatar.xboxlive.com/avatar/'
    .$tag.'/avatar-body.png[/img]</td>
            <td width="242" height="300" ><table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td class="spaziatore11"></td>
      </tr>
      <tr>
        <td class="titoloschede">Rep</td>
      </tr>
      <tr>
        <td align="left" class="rep">[img]'
    .$RepImg.'[/img]</td>....................................... 
    Dentro questa variabile $output che praticamente mi da a schermo il risultato finale all'interno volevo inserire degli "if" volevo porre delle condizione ad altre variabili ad esempio

    [php]if ($status == online) istruzione
    else
    istruzione2[php]

    Il problema sta qui non riesco ad inserire le istruzioni if all'interno della variabile, sicuramente sbaglio a scrivere parentesi e apostrofi.. come dovrebbe essere forma corretta ?

  9. #9
    Non puoi mettere delle istruzioni PHP in una stringa di testo PHP e sperare che te le esegua.
    Gli IF li devi mettere nella costruzione della stringa, tipo:
    Codice PHP:
    if ($status == online)
       
    $output $output "<span style='color: green;'>cosa ti pare</span>"// è solo un esempio
    else
       
    $output $output "<span style='color: red;'>cosa ti pare</span>"// è solo un esempio 
    così puoi creare un output condizionale....

    ... o vorresti eseguire PHP a due livelli, eseguendo una stringa di testo con del codice? (cosa che personalmente ti sconsiglio vivamente!)

  10. #10
    Si già ci avevo pensato, ma non volevo appesantire il codice, pensavo si potesse creare un if dentro il valore della variabile.

    Una domanda ... se dai un occhiata qui ti rendi conto di cosa vorrei fare.. praticamente vorrei creare una variabile che mi calcolasse quanti sono online e quanti offline, cosa devo usare un ciclo for? Se mi facessi un esempio te ne sarei grato.

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.