Gå til innhold

Feilmeldinger på script som sjekker ledig plass


Anbefalte innlegg

Videoannonse
Annonse
Kan du legge ut kildekoden du bruker?

 

 

Prøvde å vise til tråd over, men kan vell kanskje legge det ut her..

 

<?
$kb = 1024;        // Kilobyte
$mb = 1024 * $kb;  // Megabyte
$gb = 1024 * $mb;  // Gigabyte
$tb = 1024 * $gb;  // Terabyte

$dfs = disk_free_space;
$dts = disk_total_space;

for ($c='C'; $c!='Z'; $c=chr(ord($c)+1))
  {
      if ($dfs($c.":")==0){
          //Do nothing as empty disk / no existant disk
      }
  else {
        $hdd_free = $hdd_free + $dfs($c.":");
        $hdd_total = $hdd_total + $dts($c.":");
       }
  }

echo "<html>\n<head>\n<title>";
echo "Current Server HDD Status for ";
  echo $_SERVER['SERVER_NAME'];
  echo " on port ";
  echo $_SERVER['SERVER_PORT'];
  echo "</title>\n\n";
  echo "<link href=\"../css/style.css\" type=\"text/css\" media=\"screen\" rel=\"stylesheet\">\n";
  echo "</head>\n\n<body>\n\n<font>\n\n";

echo "<p>Current Server HDD Status for ";
  echo $_SERVER['SERVER_NAME'];
  echo " on port ";
  echo $_SERVER['SERVER_PORT'];
  echo ":</p>\n<br>";

echo "\n\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"3\">\n<tr>\n";
  echo "\n<td align=\"left\" bgcolor=\"gray\"><font><b>Drive:</b></td>\n";
  echo "<td align=\"left\" bgcolor=\"gray\"><font><b>Percent:</b></td>\n";
  echo "<td colspan=\"2\" align=\"left\" bgcolor=\"gray\"><font><b>Free:</b></td>\n";
  echo "<td align=\"left\" bgcolor=\"gray\"><font><b>Total:</b></td>\n";

  echo "\n</tr>";

  $tr_counter = 1;

  for ($c='C'; $c!='Z'; $c=chr(ord($c)+1))
  {
      if ($dfs($c.":")==0){
          //Do nothing as empty disk / no existant disk
      }
  else {
        if(($tr_counter % 2) == 0) //bgcolor for <tr>
          {
           $color = "#CCCCCC"; //every even <tr>
          }
          else
          {
           $color = "#FFFFFF"; //every odd <tr>
          }

          echo "\n<tr>\n";
        $tr_counter++;
          echo "\n<td bgcolor=\"$color\"><font><b>".$c.":</b></td>\n";
          echo "<td align=\"right\" bgcolor=\"$color\"><font>";
          echo round(($dfs($c.":") / $gb) / ($dts($c.":") / $gb) * 100,1); // Percent
          echo "%</td>\n";
          echo "<td align=\"right\" bgcolor=\"$color\"><font>";
          echo round($dfs($c.":") / $gb,2); // Free
          echo " GB</td>\n";
          echo "<td bgcolor=\"$color\"><font> of </td>\n";
          echo "<td align=\"right\" bgcolor=\"$color\"><font>";
          echo round($dts($c.":") / $gb,2); // Total
          echo " GB</td>\n";
          echo "\n</tr>";
      }

  }

echo "\n<tr>\n";

echo "\n<td colspan=\"5\" bgcolor=\"FFFFFF\"><font> </td>\n";

echo "\n</tr>";
echo "\n<tr>\n";

  echo "\n<td align=\"left\" bgcolor=\"gray\"><font></td>\n";
  echo "<td align=\"left\" bgcolor=\"gray\"><font><b>Percent:</b></td>\n";
  echo "<td colspan=\"2\" align=\"left\" bgcolor=\"gray\"><font><b>Free:</b></td>\n";
  echo "<td align=\"left\" bgcolor=\"gray\"><font><b>Total:</b></td>\n";

  echo "\n</tr>";
echo "\n<tr>\n";

echo "\n<td bgcolor=\"FFFFFF\"><font><b>Total:</b></td>\n";
  echo "<td align=\"right\" bgcolor=\"FFFFFF\"><font>";
  echo round(($hdd_free / $gb) / ($hdd_total / $gb) * 100,1); // Percent
  echo "%</td>\n";
  echo "<td align=\"right\" bgcolor=\"FFFFFF\"><font>";
  echo round($hdd_free / $gb,2); // Free
  echo " GB</td>\n";
echo "<td bgcolor=\"FFFFFF\"><font> of </td>\n";
echo "<td align=\"right\" bgcolor=\"FFFFFF\"><font>";
  echo round($hdd_total / $gb,2); // Total
  echo " GB</td>\n";

echo "\n</tr>\n</table>\n\n";

echo "<br><br><br>\n\n<p>Admin: <a href=\"mailto:";
echo $_SERVER['SERVER_ADMIN'];
echo "\">";
echo $_SERVER['SERVER_ADMIN'];
echo "</a><br>";
echo "Homepage: <a href=\"http://www.SubspaceStudios.com\" target=\"_new\">Subspace Studios</a>";
echo "</p>\n";

echo "\n</font>\n\n</body>\n</html>";
?>

Lenke til kommentar

Oi, oi, oi, oi, oi! At det der ikke fungerer smertefritt er ikke sjokkerende (det er derimot det faktum at det til en viss grad fungerer :p).

 

Utover det åpenbare faktum at det er Windows-only. Her er listen over feil jeg finner:

  1. Short tags er utdatert. <?php burde vært brukt i stedet for <?
  2. "$dfs = disk_free_space;" og "$dts = disk_total_space;" er helt bak mål. Det er ingenting som heter disk_free_space og disk_total_space. Hvis man sier det er en string så blir det mye bedre.
  3. Det er absolutt ingen sjekk om diskene eksisterer (linje 12 og 48 i det du sakset inn). Jeg har ingen Windows-maskin, hverken fysisk eller "psykisk", med webserver kjørende akkurat nå, så jeg aner ikke hvordan man skal gjøre det. Sannsynligvis er vel file_exists et fint stikkord her.
  4. I linje 16 og 17 blir henholdvis $hdd_free og $hdd_total brukt uten å være definert fra før. Disse variablene burde vært satt til null på forhånd.
  5. Alle echo-ene kan reduseres kraftig ned v.hj.a enten , eller . F.eks "echo 'a','b'; " og "echo 'a'.'b'; "
  6. If-ene i linje 12 og 48 er litt bakvendte. Ved å sjekke mot alt annet enn null (!= 0) kan man slippe unna med en if-konstruksjon i stedet for en if-else
  7. For meg er det ganske uforståelig at det loopes både i linje 10 og 46. Det holder helt klart med en gang.

Punkt 3 vil sannsynligvis fjerne feilmeldingene.

Lenke til kommentar

Hei igjen, og takk for svar.

 

Har ikke kommet så langt i php enda, men dette er ett script som ville hjelpe meg akkuratt nå..

 

Holder på å lære meg php, men trenger koden nå, da jeg holder på med ett lite prosjekt der dette scriptet passer inn. Prøvde litt i koden å få det rettet, men er antageligvis ikke god nok enda til å klare det jeg må for å få dette til å fungere som det skal.

 

Noen som kan gi meg litt hjelp med å skrive hva jeg eventuelt skal legge til/ta bort.

 

Takk!

 

edit... Fikk litt hjelp av Mariyo, og klarte dermed å få til noe. Takk skal du ha :D

Endret av runegang2
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...