Katalogstorlek

PHP

5 svar · 281 visningar · startad av sailsoft

Medlem sedan juli 2001225 inlägg
Trådstart#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.

564 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
381 ms — deklarationer (db)
0 ms — hämta statistik (cache)
175 ms — hämta tråd, inlägg och bilagor (db)
382 ms — ändringar (db)