Likes Likes:  0
Resultaten 1 tot 15 van de 15
Geen

Onderwerp: Xml

  1. #1
    Xml
    geregistreerd gebruiker
    1.180 Berichten
    Ingeschreven
    21/08/06

    Locatie
    Noord Brabant

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    3 Berichten zijn liked


    Naam: Niels
    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter

    Xml

    Hi,

    Ik wil graag van de nieuwe cPanel XML api de totale bandwith uitlezen, helaas heb ik een middelmatige php kennis en niet van sockets en xml, heeft iemand enig idee hoe ik:

    Code:
    - <showbw>
    - <bandwidth>
    - <acct>
    - <bwusage>
      <deleted>0</deleted> 
      <domain>demo.freehosted.nl</domain> 
      <usage>0.00</usage> 
      </bwusage>
      <deleted>0</deleted> 
      <limit>1073741824.00</limit> 
      <maindomain>demo.freehosted.nl</maindomain> 
      <user>cusdemo</user> 
      </acct>
    - <acct>
    - <bwusage>
      <deleted>0</deleted> 
      <domain>djsensation.freehosted.nl</domain> 
      <usage>0.00</usage> 
      </bwusage>
      <deleted>0</deleted> 
      <limit>1073741824.00</limit> 
      <maindomain>djsensation.freehosted.nl</maindomain> 
      <user>djsensat</user> 
      </acct>
    - <acct>
    - <bwusage>
      <deleted>0</deleted> 
      <domain>dump.freehosted.nl</domain> 
      <usage>1059452900.00</usage> 
      </bwusage>
      <deleted>0</deleted> 
      <limit>5368709120.00</limit> 
      <maindomain>dump.freehosted.nl</maindomain> 
      <user>moxegy</user> 
      </acct>
    - <acct>
    - <bwusage>
      <deleted>0</deleted> 
      <domain>nielsvankooten.nl</domain> 
      <usage>0.00</usage> 
      </bwusage>
      <deleted>0</deleted> 
      <limit>0.00</limit> 
      <maindomain>nielsvankooten.nl</maindomain> 
      <user>niels</user> 
      </acct>
      <month>7</month> 
      <reseller>niels</reseller> 
      <totalused>1059452900.00</totalused> 
      <year>2007</year> 
      </bandwidth>
      </showbw>
    - <!--  Web Host Manager  (c) cPanel, Inc. 1997-2007 http://cpanel.net/  Unauthorized copying is prohibited. 
      -->
    De 1059452900.00 (tussen totalused) krijg ge-echod? Het staat dus op een externe URL: http://ip:2086/xml-api/showbw

    Bedankt, Niels.

  2. #2
    Xml
    geregistreerd gebruiker
    80 Berichten
    Ingeschreven
    02/10/06

    Locatie
    EC

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Wat wil je weten ?, begrijp je vraag niet helemaal.

    maar wat betreft parsen van xml files met php kan je een code als onderstaande gebruiken.

    PHP Code:
    // Create an XML parser 
    $xml_parser = xml_parser_create(); 

    // Set the functions to handle opening and closing tags 
    xml_set_element_handler($xml_parser, "startElement", "endElement"); 

    // Set the function to handle blocks of character data 
    xml_set_character_data_handler($xml_parser, "characterData"); 

    // Open the XML file for reading 
    $fp = fopen("JOUW XML FILE LOCATIE.XML","r") 
           or die(
    "Error reading RSS data."); 

    // Read the XML file 4KB at a time 
    while ($data = fread($fp, 4096)) 
       
    // Parse each 4KB chunk with the XML parser created above 
       
    xml_parse($xml_parser, $data, feof($fp)) 
           
    // Handle errors in parsing 
           
    or die(sprintf("XML error: %s at line %d",  
               
    xml_error_string(xml_get_error_code($xml_parser)),  
               
    xml_get_current_line_number($xml_parser))); 

    // Close the XML file 
    fclose($fp); 

    // Free up memory used by the XML parser 
    xml_parser_free($xml_parser); 
    PS: Dit soort codes kan je kant en klaar vinden op het web.

    Google is your friend

  3. #3
    Xml
    geregistreerd gebruiker
    1.180 Berichten
    Ingeschreven
    21/08/06

    Locatie
    Noord Brabant

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    3 Berichten zijn liked


    Naam: Niels
    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Dat wist ik al, is het probleem niet Hij moet het XML bestandje weghalen op http://ipserver:2086/xml-api/showbw (fopen staat dicht voor url's) En dan moet ie het totale dataverkeer eruit halen (<totalused>1059452900.00</totalused> dus), deze scripts heb ik al met bosjes gevonden maar daar heb ik niks aan

  4. #4
    Xml
    moderator
    4.784 Berichten
    Ingeschreven
    04/11/05

    Locatie
    Gent

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    12 Berichten zijn liked


    Registrar SIDN: ja
    KvK nummer: nvt
    Ondernemingsnummer: 0475284162

    kijk even naar xmlfile.php, en gebruik dat. Al bij al niet moeilijk. Voor het ophalen van een url kan je cURL gebruiken.

  5. #5
    Xml
    geregistreerd gebruiker
    1.180 Berichten
    Ingeschreven
    21/08/06

    Locatie
    Noord Brabant

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    3 Berichten zijn liked


    Naam: Niels
    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Ga ik doen, het probleem is dat ik niks van curl & sockets weet , bedankt


    Update: Ben nu aan het testen met een opgeslagen xml bestand en heb dit:

    PHP Code:
    <?php
    include("xmlfile.php");
    $xml = new XMLFile();
    $fh = fopen( 'showbw.xml', 'r' );
    $xml->read_file_handle( $fh );
    $root = &$xml->acct;
    $tagname = $root->totalused;
    echo 
    $tagname;
    fclose( $fh );
    ?>
    Hoe komt het dat ik een lege pagina terug krijg? Zoals ik in de comments in xmlfile.php heb gekeken zou het zo moeten werken?
    Laatst gewijzigd door Nielsvk; 02/07/07 om 23:40.

  6. #6
    Xml
    moderator
    4.784 Berichten
    Ingeschreven
    04/11/05

    Locatie
    Gent

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    12 Berichten zijn liked


    Registrar SIDN: ja
    KvK nummer: nvt
    Ondernemingsnummer: 0475284162

    Ik zie dat je "acct" ipv roottag hebt gezet; het is al even geleden dat ik xmlfile heb gebruikt, maar ik dacht dat dat nodig was.

    Dan zou het

    PHP Code:
    ...
    $root = &$xml->roottag;
    $bw=$root->showbw->bandwidth;
    foreach(
    $bw[tags] as $bwtag){
        echo 
    $bwtag->domain . " " . $bwtag->usage . "\n";
    } 
    Niet getest (en mijn kennis van xmlfile is niet meer 100%)!!! Voor cURL neem je best gewoon even de voorbeeldjes uit de handleiding van php door.

  7. #7
    Xml
    geregistreerd gebruiker
    1.180 Berichten
    Ingeschreven
    21/08/06

    Locatie
    Noord Brabant

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    3 Berichten zijn liked


    Naam: Niels
    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Code:
    Warning: Invalid argument supplied for foreach() in /home/niels/public_html/test.php on line 26
    Hmm, ik hoef trouwens alleen:

    Code:
      <reseller>niels</reseller> 
      <totalused>1059452900.00</totalused> 
      <year>2007</year> 
      </bandwidth>
      </showbw>
    Die totalused te hebben, niet van alle users. Ik ga ondertussen even kijken naar CURL.

  8. #8
    Xml
    moderator
    4.784 Berichten
    Ingeschreven
    04/11/05

    Locatie
    Gent

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    12 Berichten zijn liked


    Registrar SIDN: ja
    KvK nummer: nvt
    Ondernemingsnummer: 0475284162

    dan zal het iets van $root->showbw->bandwidth->totalused zijn...

  9. #9
    Xml
    geregistreerd gebruiker
    1.180 Berichten
    Ingeschreven
    21/08/06

    Locatie
    Noord Brabant

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    3 Berichten zijn liked


    Naam: Niels
    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    PHP Code:
    <?php
    include("xmlfile.php");
    $xml = new XMLFile();
    $fh = fopen( 'showbw.xml', 'r' );
    $xml->read_file_handle( $fh );
    $root = &$xml->roottag;
    $bw=$root->showbw->bandwidth->totalused;
    echo 
    $bw;
    ?>
    Krijg nou alleen niets terug? Lijkt mij dat je bij 1 waarde geen foreach hoeft te gebruiken?

  10. #10
    Xml
    uhh?
    905 Berichten
    Ingeschreven
    18/12/04

    Locatie
    Leivere

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: 12060688
    Ondernemingsnummer: nvt

    Even snel uit het hoofd:

    PHP Code:
    <?php
    $xmlFile 
    = "data.xml";

    $xml = new XMLReader();
    $xml->XML($xmlFile);
    while (
    $xml->read())
    {
        if (
    $xml->name == "totalused")
        {
            
    $xml->read();
            print 
    $xml->value;
        }
    }
    ?>

  11. #11
    Xml
    geregistreerd gebruiker
    1.180 Berichten
    Ingeschreven
    21/08/06

    Locatie
    Noord Brabant

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    3 Berichten zijn liked


    Naam: Niels
    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Code:
    Warning: XMLReader::read() [function.XMLReader-read]: /home/niels/public_html/:1: parser error : Document is empty in /home/niels/public_html/test.php on line 14
    
    Warning: XMLReader::read() [function.XMLReader-read]: showbw.xml in /home/niels/public_html/test.php on line 14
    
    Warning: XMLReader::read() [function.XMLReader-read]: ^ in /home/niels/public_html/test.php on line 14
    
    Warning: XMLReader::read() [function.XMLReader-read]: An Error Occured while reading in /home/niels/public_html/test.php on line 14
    Hmm, showbw.xml is toch echt niet leeg?

    Code:
    <?php 
    $xmlFile = "showbw.xml"; 
    
    $xml = new XMLReader(); 
    $xml->XML($xmlFile); 
    while ($xml->read()) 
    { 
        if ($xml->name == "totalused") 
        { 
            $xml->read(); 
            print $xml->value; 
        } 
    } 
    ?>

  12. #12
    Xml
    uhh?
    905 Berichten
    Ingeschreven
    18/12/04

    Locatie
    Leivere

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: 12060688
    Ondernemingsnummer: nvt

    Heb je genoeg rechten?

    Mijn fout, deze code moet goed zijn:

    PHP Code:
    <?php
    $xmlFile 
    = "data.xml";

    $xml = new XMLReader();
    $xml->open($xmlFile);
    while (
    $xml->read())
    {
        if (
    $xml->name == "totalused")
        {
            
    $xml->read();
            print 
    $xml->value;
        }
    }
    $xml->close();
    ?>
    Laatst gewijzigd door TiMMiEJ; 03/07/07 om 15:15. Reden: Automerged Dubbelpost

  13. #13
    Xml
    geregistreerd gebruiker
    1.180 Berichten
    Ingeschreven
    21/08/06

    Locatie
    Noord Brabant

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    3 Berichten zijn liked


    Naam: Niels
    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Eindelijk, hij doet het.. Nu nog alleen het bestand afhalen van WHM, *gaat googlen naar curl mogelijkheden* Heel erg bedankt!

    Gelukt!

    PHP Code:
    function gettraffic(){
    $ch = curl_init();
    $timeout = 5; // set to zero for no timeout
    curl_setopt ($ch, CURLOPT_URL, 'http://WHMGEBRUIKERSNAAM:WHMWACHTWOORD@IP:2086/xml-api/showbw');
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $file_contents = curl_exec($ch);
    $fp = fopen("bw.xml", "w"); 

    fwrite($fp, $file_contents); 

    fclose($fp);
    curl_close($ch);

    $xmlFile = "bw.xml"; 

    $xml = new XMLReader(); 
    $xml->open($xmlFile); 
    while (
    $xml->read()) 
    { 
        if (
    $xml->name == "totalused") 
        { 
            
    $xml->read(); 
            
    $bw = $xml->value / 1000000000;
            
    $bw = round($bw,1);
            print 
    $bw; 
        } 
    } 
    $xml->close();
    } 
    Voor de gene die ook het totale dataverkeer van een reseller willen opvragen, maak eerst even een leeg bestandje aan (bw.xml) en chmodden naar 777 en het werkt. (Dit is alleen getest op een reseller account)
    Laatst gewijzigd door Nielsvk; 03/07/07 om 19:37. Reden: Automerged Dubbelpost

  14. #14
    Xml
    uhh?
    905 Berichten
    Ingeschreven
    18/12/04

    Locatie
    Leivere

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: 12060688
    Ondernemingsnummer: nvt

    Het kan nog makkelijker hoor:

    PHP Code:
    <?php
    function GetTraffic($url) { 
        
    $ch = curl_init(); 
        
    $timeout = 5; // set to zero for no timeout 
        
    curl_setopt ($ch, CURLOPT_URL, $url); 
        
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
        
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
        
    $fileContents = curl_exec($ch); 
        
    curl_close($ch); 
        
        
    $xml = new XMLReader(); 
        
    $xml->XML($fileContents); 
        while (
    $xml->read()) 
        { 
            if (
    $xml->name == "totalused") 
            { 
                
    $xml->read(); 
                return 
    round($xml->value / 1000000000, 1);             
            } 
        } 
        
    $xml->close(); 
    } 


    $totalUse = GetTrafic("http://WHMGEBRUIKERSNAAM:WHMWACHTWOORD@IP:2086/xml-api/showbw");
    ?>
    Nu hoef je niet eerst een XML file weg te schrijven. Let ook op hoofdlettergebruik. Bijvoorbeeld in je functienaam.

  15. #15
    Xml
    geregistreerd gebruiker
    1.180 Berichten
    Ingeschreven
    21/08/06

    Locatie
    Noord Brabant

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    3 Berichten zijn liked


    Naam: Niels
    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Mooi! , bedankt!

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics