5 berichten aan het bekijken - 1 tot 5 (van in totaal 5)
  • Q:
    Bijdrager
    11642

    PHP • file_get_html();

    Gegroet!

    Ik leerde zonet de file_get_html functie kennen via http://simplehtmldom.sourceforge.net/

    Nu wil ik dit gebruiken om de statistieken van een website (http://hangarfuif.be/stats/) zelf in een mooi(er) design weer te geven aan een klant.

    Kan iemand me op weg zetten hoe ik bv. het getal van de ‘Unique visitors’ via die file_get_html(); functie kan weergeven?

    Bedankt!
    Ben

    Bijdrager
    Devastation

    de functies van het script includen en dan de functies opnieuw naar voren laten komen via jou script?

    & een html inmporteren: ( ik denk dat je dit bedoelt )

    <?php

    echo file_get_contents(“path/file.html”);

    ?>

    Bestand moet natuurlijk wel in 777 staan

    Bijdrager
    11642

    Wel,
    Het werkt wel:)

    Via

    <br />
    foreach($html->find('img') as $element)<br />
           echo $element->src . '<br />';<br />
     

    kan ik bv alle images bekijken en via

    <br />
    foreach($html->find('a') as $element)<br />
           echo $element->href . '<br />';<br />
     

    Alle links ..

    Maar hoe krijg ik het getal van de ’Unique visitors’, wat in de broncode:

    <br />
    <td class="aws">Viewed traffic&nbsp;*</td><td><b>13</b><br />
     

    Hoe krijg ik die 13 eruit?:) (Getal kan intussen anders zijn)

    ..

    Bijdrager
    Tempest
    <br />
    <?php<br />
    $curl_connection = curl_init('http://hangarfuif.be/stats/');<br />
    curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);<br />
    curl_setopt($curl_connection, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1");<br />
    curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);<br />
    curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);<br />
    $string = curl_exec($curl_connection);<br />
    curl_close($curl_connection);<br />
    ?><br />
     

    Nu heb je de broncode in $string. Nu nog de 13 eruit halen.

    <br />
    <?php<br />
    $a = stripos($string,'<td class="aws">Viewed traffic&nbsp;*</td><td><b>',0)+strlen('<td class="aws">Viewed traffic&nbsp;*</td><td><b>');<br />
    $b = stripos($string, '</b>',$a);<br />
    $c = $b - $a;<br />
    $getal = (int)substr($string,$a,$c);<br />
    echo $getal;<br />
    ?><br />
     

    Anders moet je regular expressions gebruiken.

    Bijdrager
    Tempest

    Tested and working.;-)

    Ik gebruik weliswaar cURL, niet file_get_html() voor aan de broncode te geraken. Met cURL kan je ook forms posten op andere websites via PHP. Hiervoor moet je server de cURL module hebben, maar de meeste servers hebben die.

    Als je het ongemakkelijk vindt om met een langere code te werken, kan je een functie ervan maken:

    function getthatnumber()<br />
    {<br />
    	//alle code uit vorige post hier en verander echo $getal; in return $getal;<br />
    }<br />
     

    Dan moet je enkel die functie oproepen en echo en klaar.
    Dit is ook veel overzichtelijker.

5 berichten aan het bekijken - 1 tot 5 (van in totaal 5)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.