webForumDet fria alternativet

Katalogstorlek

PHP

5 svar · 276 visningar · startad av sailsoft

Medlem sedan juli 2001225 inlägg
Frågan#1

Hur tar man enklast ut en katalogs storlek i bytes?

Medlem sedan juni 20015 009 inlägg
#2
<?php
function dirsize($dirName = '.') 
{
     $dir_ = dir($dirName);
     $size = 0;

     while($file = $dir->read())
     {
          if ($file != '.' && $file != '..')
          {
               if (is_dir($file))
               {
                    $size += dirsize($dirName . '/' . $file);
               } else {
                    $size += filesize($dirName . '/' . $file);
               }
          }
     }
     $dir->close();
     return $size;
}
?>

:)

Medlem sedan juli 2001225 inlägg
#3

Jag får felet:

Fatal error: Call to a member function read() on a non-object

Vad är fel på skriptet? Eller är det något fel hos mig?

Medlem sedan nov. 2002302 inlägg
#4

Jag tror det ska vara $dir_->read() i while-loopen istället för $dir->read() och $dir_->close(); istället för $dir->close();

Medlem sedan juli 2001225 inlägg
#5

Nu funkade det, men jag får inte skriptet att visa alla katalogerna, vilken user är man när man kör ett skript, kan det vara så att katalogerna har skapats med en högre användarrättighet?

Medlem sedan nov. 2002302 inlägg
#6

Jag är ingen höjdare på det där med användarrättigheter, brukar jämt krångla för mig. Men det skulle nog kunna vara något sådant.

255 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)