Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Script php che utilizza libcurl

    Ciao a tutti spero che qualcuno tra di voi possa aiutarmi.
    Avrei la necessità di inserire sul mio sito uno script molto semplice che attraverso le funzioni della libreria curl ottiene da msn weather un icona e la temperatura della città che vuoi in qualsiasi parte del mondo. Lo script è questo:
    Codice PHP:
    <?php

    if (!$accid) { 
    $accid="ITXX0033";
    }

    $url ="http://www.msnbc.com/m/chnk/d/weather_d_src.asp?acid=$accid";

    # Use cURL to get the page
    $ch curl_init();
    curl_setopt($chCURLOPT_URL$url);
    curl_setopt ($chCURLOPT_RETURNTRANSFER1);
    $CurlContent curl_exec ($ch);
    curl_close ($ch);

    # Look for fieldnames, set into $WeatherFields array
    $FieldPattern '|this.sw([^\s]+) = |';
    preg_match_all($FieldPattern$CurlContent$WeatherFields);

    # Parse data into hash
    foreach ($WeatherFields[1] as $WeatherField) {
    $FieldSpec '|this.sw' $WeatherField ' = "([^\"]+)|';
    preg_match($FieldSpec$CurlContent$WeatherData);
    $MsnWeather[$WeatherField] = $WeatherData[1];
    }

    ## DEBUG
    ## print_r($MsnWeather);

    #Convert Farrenheit to Celcius. 
    $MsnWeather['CTemp'] = round(((($MsnWeather['Temp']-32)/9)*5),0);

    print 
    "<table onmouseover=\"this.style.cursor='pointer'; return true;\" onmouseout=\"return true;\" onClick=\"top.location.href='http://weather.msn.com/local.aspx?wealocations=wc:USHI0026'\">";

    #Set $MsnWeather['CIcon'] if empty or null
    if ($MsnWeather['CIcon']=="" || $MsnWeather['CIcon']=="NULL") {
    $MsnWeather['CIcon'] = 44;
    }

    echo 
    "<tr><td nowrap=\"nowrap\"><img align=\"absmiddle\" border=\"0\" src=\"http://www.mesnet.it/images/icons/"$MsnWeather['CIcon'] . ".gif\"> [b]"$MsnWeather['Temp'] ."&deg;C [/b]</td></tr></table>";

    ?>
    Come vedete non fà altro che collegarsi a un indirizzo dove come output si ha questo :
    codice:
    function makeWeatherObj() { this.swCity = "La Spezia"; this.swSubDiv = ""; this.swCountry = "Italy"; this.swRegion = "West Europe"; this.swTemp = "73"; this.swTempCel = Math.round((5/9)*(this.swTemp-32)); this.swCIcon = "30"; this.swWindS = "0"; this.swWindD = "CALM"; this.swBaro = "29.97"; this.swHumid = "65"; this.swReal = "74"; this.swUV = "2"; this.swVis = "6.21"; this.swLastUp = "07/03/2006 01:55:00"; this.swConText = "Partly Cloudy"; this.swFore = "2|3|4|5|6|07/03/2006|07/04/2006|07/05/2006|07/06/2006|07/07/2006|34|34|34|30|38|22|22|22|4|28|83|84|85|82|78|10|0|0|20|60|31|31|33|29|47|11|11|23|4|27|71|70|71|70|70|"; this.swAcid = "ITXX0033"; }
    che varia a seconda del codice finale che nel mio caso è ITXX0033 che indica La Spezia.
    Lo script non fà altro che eleaborare questo output tramite le funzioni di curl.
    Il mio problema è il seguente.. l' hosting dove risiede il mio sito non supporta questa libreria, e (ho già chiesto) per il momento non possono installarla.
    E' possibile utilizzare comunque questo script ( magari convertendolo con altre funzioni... - parlo da ignorante - ) ??
    Qualcuno può aiutarmi o indicarmi la strada giusta ?
    Grazie mille per le risposte
    www.tekserramenti.it
    <a href="http://www.tekserramenti.it/">www.tekserramenti.it</a>

  2. #2
    nessuno può aiutarmi ?

    www.tekserramenti.it
    <a href="http://www.tekserramenti.it/">www.tekserramenti.it</a>

  3. #3
    possibile che nessuno possa aiutarmi ?
    Almeno ditemi ... no non è possibile. VVoVe:
    www.tekserramenti.it
    <a href="http://www.tekserramenti.it/">www.tekserramenti.it</a>

  4. #4
    come si può con php leggere l' output html di una pagine per poi rielaborarlo?
    Non credo che solo con la libreria libcurl sia possibile.... ci sarà un altro metodo....
    Qualche anima buona può darmi un aiutino ?
    www.tekserramenti.it
    <a href="http://www.tekserramenti.it/">www.tekserramenti.it</a>

  5. #5
    Per essere più chiaro :
    A me interesserebbe far questo :
    Lo script dovrebbe leggere questa pagina : http://www.msnbc.com/m/chnk/d/weathe...?acid=ITXX0033
    che contiene questo testo :

    function makeWeatherObj() { this.swCity = "La Spezia"; this.swSubDiv = ""; this.swCountry = "Italy"; this.swRegion = "West Europe"; this.swTemp = "73"; this.swTempCel = Math.round((5/9)*(this.swTemp-32)); this.swCIcon = "30"; this.swWindS = "0"; this.swWindD = "CALM"; this.swBaro = "29.97"; this.swHumid = "65"; this.swReal = "74"; this.swUV = "2"; this.swVis = "6.21"; this.swLastUp = "07/03/2006 01:55:00"; this.swConText = "Partly Cloudy"; this.swFore = "2|3|4|5|6|07/03/2006|07/04/2006|07/05/2006|07/06/2006|07/07/2006|34|34|34|30|38|22|22|22|4|28|83|84|85|82|78|1 0|0|0|20|60|31|31|33|29|47|11|11|23|4|27|71|70|71| 70|70|"; this.swAcid = "ITXX0033"; }


    Io devo estrapolare questi dati : this.swCity , this.swCountry , this.swTemp , this swCIcon.
    Come output lo script dovra restituirmi quanto segue :
    La Spezia, Italy 73 [img src=/images/icons/30.gif]

    Qualcuno può aiutarmi ?????? Vi prego !!

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.