Webspace-Status abfragen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    hallo ....

    ich habe das script hier gefunden ... ja ... nach langer suche

    jetzt habe ich das mal auf meinem webspace gelegt und abgefragt ...

    hm .... es wird mir 63,1 mb angezeigt welche ich verbraucht haben soll .

    mein anbieter sagt es wären 107,88 mb ....

    was stimmt mit dem script nicht .... ?

    ich habe von meinem anbieter auch ein script bekommen .... der mitarbeiter hat es mir auf den "space" gelegt .... und sieht wie folgt aus ....

    PHP-Code:
    <?php

    $url 
    "/home/vhosts/5000122382/meinedomain.de/htdocs";

    function 
    belegt_space($file){
    $size;
    if(
    is_dir($file))
       if (
    $dh opendir($file))
           while ((
    $filecnt readdir($dh)) !== false) {
             if(
    $filecnt == "." || $filecnt == "..")continue;
               if(
    is_dir($file."/".$filecnt))
               
    $size += belegt_space($file."/".$filecnt);
                 else
                   
    $size += @filesize($file."/".$filecnt);
                          }
                    else
                    return 
    false;
            else
            
    $size = @filesize($file);
            return 
    $size;
    }

    $total   belegt_space($url);

    $kilob   round($total 1024,2);
    $megab   round($kilob 1024,2);

    echo 
    $total." Bytes<br>";
    echo 
    $kilob." KiloBytes<br>";
    echo 
    $megab." MegaBytes";

    ?>
    und damit wird mir angezeigt ....

    113120878 Bytes
    110469.61 KiloBytes
    107.88 MegaBytes

    wie kann ich denn das hier genannte (visuelle) script dazu bewegen das es mir auch diesen wert anzeigt ...?

    vielen dank
    .
    Zuletzt geändert von sonyman; 20.01.2004, 20:59.

    Kommentar


    • #17
      hallo ....

      das mit dem script haut irgentwie nicht hin .

      jetzt habe ich ein anderes welches funktioniert und auch mit grafik

      nur bekomme ich da was nicht ganz hin wie es soll

      ich wollte das mir 2 ordner angezeigt werden ... soweit funktioniert das auch ...
      aber ... die balkengrafik ... hm ... es soll eigentlich nur ein balken da sein .
      also der freie speicher grün ... der gesamte webspace verbrauch in rot und
      ein ganz bestimmter ordner soll gelb angezeigt werden .

      ich häng hier mal den code an ... und unten ein bild wie es z.z. aussieht ...
      dort sind die beiden balken untereinander ...

      PHP-Code:

      // Maximale Webspacekapazitaet 
      // wird in Megabyte (MB) angegeben 
      // 
      $maxspace = "500"; 

      // 
      // Farben fuer die Ausgabe 
      // 
      $free = "#1F8624"; 
      $used = "#E21D1D"; 
      $data = "#FCDC43";
      // 
      // Breite des Balkens (in Pixel) 
      // 
      $width = "500";


      /*********************/ 
      /****** Script *******/ 
      /*********************/ 

      // 
      // Um den Source anzuzeigen 
      // 
      if ($_GET['source'] == true) { show_source(basename($PHP_SELF)); exit; } 

      // 
      // damit keine Fehler angezeigt werden, 
      // wenn Verzeichnisse nicht gelesen werden koennen 
      // 
      error_reporting(0); 



      // 
      // Verzeichnisse lesen und Groesse zurückgeben 
      // 
      function dirsize($directory) 
         { 
          if (!is_dir($directory)) return -1; 

          $size = 0; 

          if ($DIR = opendir($directory)) 
             { 
              while (($dirfile = readdir($DIR)) !== false) 
                 { 
                  if (is_link($directory.'/'.$dirfile) || $dirfile == '.' || $dirfile == '..' || $dirfile == 'logfiles' || $dirfile == 'phptemp') 
                      continue; 


                  if (is_file($directory.'/'.$dirfile)) 
                     $size += filesize($directory.'/'.$dirfile); 

                  else if (is_dir($directory.'/'.$dirfile)) 
                     { 
                      $dirSize = dirsize($directory.'/'.$dirfile); 
                      if ($dirSize >= 0) $size += $dirSize; 
                      else return -1; 
                     } 
                 } 
              closedir($DIR); 
             } 
          return $size; 
         } 


      // 
      // Ausgabe 
      // 
      function editsize($bytes, $cfr, $cd) 
         { 
          $kb = "1024"; 
          $mb = $kb * "1024"; 
          $gb = $mb * "1024"; 
          $tb = $gb * "1024"; 

          if     ($bytes < $kb) { $size = $bytes;       $ext = "Byte"; } 
          elseif ($bytes < $mb) { $size = $bytes / $kb; $ext = "KB"; } 
          elseif ($bytes < $gb) { $size = $bytes / $mb; $ext = "MB"; } 
          elseif ($bytes < $tb) { $size = $bytes / $gb; $ext = "GB"; } 

          if     ($cfr == "c") { $size = ceil($size); } 
          elseif ($cfr == "f") { $size = floor($size); } 
          elseif ($cfr == "r") { $size = round($size, 2); }

          if     ($cd == "c") { $size = str_replace(".", ",", $size); } 
          elseif ($cd == "d") { $size = str_replace(",", ".", $size); } 

          return $size." ".$ext; 
         } 

      $usedspace = dirsize("/home/vhosts/5000122382/domain.de/htdocs/");
      $usedspace_2 = dirsize("/home/vhosts/5000122382/domain.de/htdocs/data/media/");

      if ($usedspace < "0") { echo "Fehler: Konnte Dateien nicht lesen."; } 
      else { 
            $maxspace  = $maxspace * 1024 * 1024; 
            $freespace = $maxspace - $usedspace;
            $dataspace = $usedspace_2;
            $used_p = round(($usedspace * 100) / $maxspace, 2); $used_p = str_replace(".", ",", $used_p);
            $free_p = round(($freespace * 100) / $maxspace, 2); $free_p = str_replace(".", ",", $free_p);
            $data_p = round(($dataspace * 100) / $maxspace, 2); $data_p = str_replace(".", ",", $data_p);
            $width_used = ($width * $used_p) / 100; 
            if ($width_used >= $width) { $width_used = $width;
            }

            $width_data = ($width * $data_p) / 100;
            if ($width_data >= $width) { $width_data = $width;
            }
              }



      ?> 
      <div style="font-family:Verdana; font-size:12px; text-align:left; width:<?=$width?>px; padding:0px; margin:10px;"> 
        <div style="text-align:left; width:<?=$width?>px; background-color:<?=$free?>; padding:0px; margin:0px; border:1px black solid;"> 
          <div style="text-align:left; width:<?=$width_used?>px; background-color:<?=$used?>; padding:0px; margin:0px;"></div>
          <div style="text-align:left; width:<?=$width_data?>px; background-color:<?=$data?>; padding:0px; margin:0px;"></div>

        </div> 
        <div><div style="float:left;">0%</div><div style="float:right;">100%</div></div> 
        <div><br /><br /> 
          <div style="float:left; width:45%; padding:3px; margin:0px;"> 
            <fieldset> 
              <legend><span style="font-weight:bold;">Legende</span></legend> 
              <div style="padding:3px; margin:0px;"><br />
                <span style="color:<?=$used?>; font-weight:bold;">rot:</span> __belegter Webspace<br />
                <span style="color:<?=$data?>; font-weight:bold;">gelb:</span> media Ordner<br />
                <span style="color:<?=$free?>; font-weight:bold;">grün:</span> freier Webspace<br />
              </div> 
            </fieldset> 
          </div> 
          <div style="float:right; width:55%; padding:3px; margin:0px;"> 
            <fieldset> 
              <legend><span style="font-weight:bold;">Webspace Übersicht</span></legend> 
              <div style="padding:3px; margin:0px;">
                <div style="float:left;">gesamt:</div><div title="100%" style="cursor:help; float:right;"><?=editsize($maxspacerc);?></div><br /> 
                <div style="float:left;">belegt:</div><div title="<?=$used_p?>%" style="cursor:help; float:right;"><?=editsize($usedspacerc);?></div><br /> 
                <div style="float:left;">data:</div><div title="<?=$data_p?>%" style="cursor:help; float:right;"><?=editsize($dataspacerc);?></div><br />
                <div style="float:left;">frei:</div><div title="<?=$free_p?>%" style="cursor:help; float:right;"><?=editsize($freespacerc);?></div><br />

              </div> 
            </fieldset> 
          </div> 

        </div> 
      </div>
      und bei dem bild sieht man das der rote und der gelbe untereinander liegen .
      der ordner gelb kann nie so gross sein wie der gesammte verbrauch .... daher wollte ich diese übereinander haben ... was auch besser aussieht .
      grün = gesamt web
      rot = gesamtverbrauch
      gelb = nur der eine ordner

      könnte mir evtl. da jemand helfen ???

      danke
      Zuletzt geändert von sonyman; 20.01.2004, 21:01.

      Kommentar


      • #18
        jetzt noch mal ..

        bild ging nicht ...

        hm ...
        Angehängte Dateien

        Kommentar


        • #19
          nur mal so zur info:

          PHP-Code:
          echo disk_total_space("/home/myhome/public_html"
          funzt ab php4.1

          Kommentar


          • #20
            moin ...

            jo ... kann ja sein ...

            aber ich will ja nicht wissen wie gross die platte ist die mein anbieter da im server verbaut hat .... sondern nur wieviel ich auf meinen begrenzten 500 mb noch frei habe ... ich glaube nicht das die jedem user einen eigenen server spendieren wenn er nur webspace gemietet hat

            aber trotzdem danke ... wenigsten eine antwort .

            Kommentar


            • #21
              wenn du weisst, wieviel platz dir zur verfügung steht, setzt du diese funktion einfach auf DEIN docroot an, ziehst davon den wert ab und gut is. dürfte ein wenig schneller sein, als was handgestricktes...

              Kommentar


              • #22
                moin ...

                ansich schon ... nur ein bischen komfort wollte ich dann doch schon haben

                weil das ganze in den adminbereich meiner hp gesteckt wird ...

                hab ich ja schon ... und es funzt auch ... nur halt das mit den balken stört mich ein wenig ... das bekomme ich irgentwie nicht hin ... vielleicht übersehe ich andauernt was .

                also ... grafische spielerei muss da auch ein bischen sein ... sonst passt es irgentwie nicht da rein .... und halt mehr auskunft .

                danke.


                hehe ... jetzt ist die seite entlich klein .

                Kommentar


                • #23
                  jo, dass das weiterhin hübsch aussehen würde, wäre ja nicht gefährdet.
                  du müsstest halt nur entsprechend die funktionsaufrufe austauschen.
                  der vorteil ist, der dass das wesentlich schneller sein dürfte, als rekursiv mit php über alle dirs zu gehen.

                  aber das is ja dir überlassen

                  Kommentar


                  • #24
                    moin ...

                    aaahhhhh .....

                    ich hab da was übersehen ... ne ne ne .



                    PHP-Code:

                    <div style="font-family:Verdana; font-size:12px; text-align:left; width:<?=$width?>px; padding:0px; margin:10px;"> 
                      <div style="text-align:left; width:<?=$width?>px; background-color:<?=$free?>; padding:0px; margin:0px; border:1px black solid;"> 
                        <div style="text-align:left; width:<?=$width_used?>px; background-color:<?=$used?>; padding:0px; margin:0px;">
                        <div style="text-align:left; width:<?=$width_data?>px; background-color:<?=$data?>; padding:0px; margin:0px;"></div>
                        </div>
                      </div>
                    he he ... hatte /div an der falschen stelle .

                    das kommt davon wenn man nächtelang am rechner hängt ...

                    jetzt klappt es so wie ich es wollte ... und sieht gut aus

                    danke das ich hier antwort bekam .


                    und das fenster ist wieder gross ...

                    Kommentar


                    • #25
                      Hi,

                      ich hab mir grad mal den Thread durchgelesen, weil ich auch sowas ähnliches grad basteln wollte. Folgendes ist mir noch aufgefallen. Also, ich habe auch Webspace bei einem Provider. Rufe ich das PHP-Skript auf, erhalte ich einen Wert von zum Bespiel 381,3 MB belegt. Wenn ich das ganze nun noch über Telnet ausrechnen lasse, erhlate ich einen Wert von395,4 MB. Das ist glatt mal eine Differenz von 14 MB. Woran das liegt weiss ich auch, denn das ganze hat wohl mit der Blockgröße bzw. den Clustern zu tun. Kann man das nun irgendwie in einem PHP-Skript mit berücksichtigen?

                      Und noch eine zweite Frage. Mit den Skripten die auch hier beschrieben sind, habe ich es bis jetzt nur geschafft, den belegten Webspace zu ermitteln, auf dem ich mich befinde. Da ich aber mehrere Pakete bei meinem Provider habe, möchte ich gerne auch von dem einem Paket, auf das andere Paket zugreifen, ohne aber, dass die Datei dort auch liegen muss. Ist sowas auch irgendwie möglich?

                      Danke Gruß
                      rIzImIzI

                      Kommentar


                      • #26
                        Und noch eine zweite Frage. Mit den Skripten die auch hier beschrieben sind, habe ich es bis jetzt nur geschafft, den belegten Webspace zu ermitteln, auf dem ich mich befinde. Da ich aber mehrere Pakete bei meinem Provider habe, möchte ich gerne auch von dem einem Paket, auf das andere Paket zugreifen, ohne aber, dass die Datei dort auch liegen muss. Ist sowas auch irgendwie möglich?
                        Eher schlecht. Es wäre ja schlimm, wenn ich mit meinem Webspace
                        auf den Webspace meines Hostingnachbarn zugreifen könnte und dort
                        wohlmöglich Passwörter, etc. rauben könnte.

                        Kommentar


                        • #27
                          Voraussetung ist natürlich schon, dass ich mich irgendwie identifiziere per Passwort. Problem ist ja eben nur, dass ich einige Pakete habe, wo kein PHP läuft. Deswegen kann ich dort eben auch keine dieser Skripte ablegen.

                          Vielleicht gehts ja irgendwie über Port 21 und FTP.... nur so richtig weiter weiss ich nach dem Login auch wieder nicht...

                          <?php
                          $ftp=fsockopen("$user",21);
                          echo fgets($ftp,255);

                          fputs($ftp,"USER $user\r\n");
                          echo fgets($ftp,255);

                          fputs($ftp,"PASS $pwd\r\n");
                          echo fgets($ftp,255);

                          fputs($ftp,"QUIT\r\n");
                          echo fgets($ftp,255);

                          fclose($ftp);
                          ?>

                          Kommentar


                          • #28
                            Mit FTP gehts sicher auch. -> s. ftp
                            müsstest halt alles rekursiv durchgehen. dauert seine Zeit. Den
                            Verfügbaren Platz bekommst du damit imo nicht.

                            PS. Wie du gesehen hast, mache ich ein paar umbrüche, damit man beim lesen nicht so weit scrollen muss.

                            Kommentar

                            Lädt...
                            X