Keresés
Hírlevél
 
Kiemelt témák
»Hogy viszonyul ehhez a család?
»Legjobb metodika emberi relációk tárolására
»A programozó hibája, hogy törik a programját?
»Jogosultság kezelés mezőszinten
Állás/munka
»Wordpress szakértőt keresünk
»Kamu álláshirdetők listája
»Front-end fejlesztő / Sitebuilder
»DataStore Developer
»PHP programozó, webfejlesztő munkát keres
» több téma
Tudástár
Oldalon keresés 8x írja ki az eredményt
?XML-ből sok szövegmező
?Input mezőből visszakapott adat probléma
TinyMCE és az ékezetek
?Rengeteg hasonló kép betöltése gyorsan (PHP)
Ékezetes kar. nem minden táblában jól
?Shelltreeview gond
Grafikon rajzolás probléma
?Onclick= php függvény
?Egyenes megrajzolása
?Access-ből adott xml fájl kinyerése
Listázás időpont szerint
Exportálás változó könyvtárba
*Link eredményének kiolvasása
Imagemapre képet
» több téma
Társalgó
»A programozásból jól meg lehet élni?
»MFC tanulás
»Könyvet adok-veszek
»Hogy viszonyul ehhez a család?
»Nintendo wii
»Letölthető az új Rad Studio XE és Delphi XE
»Weblap véleményezés
»Játékmotor elmélet
»Informatikai bulvárlap
»Delphi-ről C++-ra váltás
» több téma
ASP  |  C#  |  C++  |  CSS  |  Delphi  |  Flash  |  HTML  |  Java  |  JavaScript  |  Pascal  |  Perl  |  PHP  |  Python  |  Visual Basic  |  Visual C++  |    »    

Tudástár

»

PHP mappa méretének meghatározása+ kiterjesztés

»

PHP mappa méretének meghatározása+ kiterjesztés

nyitotta: djtoti95, idő: 2010.03.12., moderátor: Árnyék
  Értesítés változás esetén Felvétel kedvencekhez Küldés emailben Nyomtatható verzió

Kategóriák:Programozási nyelvek » PHP

Sorrend:
Időzóna:
Blokkméret:
Üdv.
Van egy kódom amit itt találtam át kéne úgy átalakítani hogy kiírja azt hogy 3,2 MB a mappa mérete most csak ennyit ír: 3079377
itt a kód:
<?php
function get_dirsize($dirname)
{
  $dirsize = 0;
  if($dir = @opendir($dirname))
  {
    while($file = readdir($dir))
    {
      if($file != "." && $file != "..") {
       if(is_dir($dirname . "/" . $file))
        $dirsize += get_dirsize($dirname . "/" . $file);
       else
        $dirsize += filesize($dirname . "/" . $file);
      }
    }
    closedir($dir);
  }
  return $dirsize;
}
echo get_dirsize(".");
?>
Meg ha lehetne akkor egy olyan kód bele ami jelzi azt ha 20Gb-ot megközelíti a mappa mérete (pirosan írja ki a mappa méretét)

Megoldható ez?
Előre is köszönöm
1. Át kellene.....

Gondolkodtál azon, hogy miért azt írja ki?
Segítségül: Ha 1 fájl 1 bájt méretű, a lemezen hány bájtot foglal el?

Tehát vagy minden fájlméretet kerekítesza tárolási egységre, akkor meár csak 1024-el és 1024-el kell osztanod és már MB-ba is van.

--

2.

Igen.....

echo get_dirsize(".");

helyett
$x=get_dirsize(".");
if ($x>IttAzASzámAmiMárKözelítéstJelent)
    {
    echo "<span AFormátumod>". $x."</span>;
    }
  else
    {
    echo $x;
    }
Van egy ilyen méretezés amit találtam ezt hova tegyem bele a kódodba?
        'B' => 1,
        'KB' => 1024,
        'MB' => 1024 * 1024,
        'GB' => 1024 * 1024 * 1024,
        'TB' => 1024 * 1024 * 1024 * 1024,
        'PB' => 1024 * 1024 * 1024 * 1024 * 1024,

$bajt="B";
if ($meret>=1024) {
$meret/=1024;
$bajt="KB";
if ($meret>=1024) {
$meret/=1024;
$bajt="MB";
if ($meret>=1024) {
$meret/=1024;
$bajt="GB";
}
}
}
printf("%.2f ",$meret); print " ".$bajt;
bár lehet máshogy is csak gyorsba bemásoltam amit még régen írtam
a kiíratás módja miatt nem kacagni
Ha minden igaz:
$meret=array("B","KB","MB","GB",TB","PB");

$x=get_dirsize(".");
for($i=count($meret);$i>=0;$i--)
   {
   if ($x>pow(1024,$i))
       {
       $meret=round($x/pow(1024,$i-1),1)."&nbsp;".$meret[$i];
       }
   }
if ($x>1800000)
    {
    echo "<span AFormátumod>". $meret."</span>;
    }
  else
    {
    echo $meret;
    }
Lemaradt 1-2 " jel:
$meret=array("B","KB","MB","GB","TB","PB");

$x=get_dirsize(".");
for($i=count($meret);$i>=0;$i--)
   {
   if ($x>pow(1024,$i))
       {
       $meret=round($x/pow(1024,$i-1),1)."&nbsp;".$meret[$i];
       }
   }
if ($x>1800000)
    {
    echo "<span AFormátumod>". $meret."</span>";
    }
  else
    {
    echo $meret;
    }
De most valami 3x akkora számot ír ki : 3153613824 3
$meret=array("B","KB","MB","GB","TB","PB");

$x=get_dirsize(".");
for($i=count($meret);$i>=0;$i--)
   {
   if ($x>pow(1024,$i))
       {
       $meret=round($x/pow(1024,$i),1)."&nbsp;".$meret[$i];
   break;
       }
   }
if ($x>1800000)
    {
    echo "<span AFormátumod>". $meret."</span>";
    }
  else
    {
    echo $meret;
    }
1800000 helyére írd be a te számod ami után figyelemztessen, a "AFormátumod" helyére meg tegyél egy formázást, ahogy kinézzen
Az a 1800000 az hány Mb? 1,8 Mb ?
Amúgy jó a kód működik
Az 1,8MB az 1,8*1024*1024 bájt.
Belépés
E-mail cím:
Jelszó:

RSS források
-Hírek
-Cikkek
-Fórumok
-Állás/munka
Top pontgyűjtők
»Micu1.030
»Interlock280
»mezofi150
»Pitta_100
»Frostech0100
»szbzs.2100
»Riha60
»Akhiles50
»mrchandra50
»Bakter50
Top wikieditorok
»Sting
»Doi
»FlamingClaw
»Argathron
»Csaboka2
»Vodka
»Joexy
»Ivn
»Balucinho
»Kelemzol
» ugrás a wikire
A nap kifejezései
»Algoritmus
»Hogyan kezdjem el
»Perl
» ugrás a wikire
Hírek
»Megérkezett a PostgreSQL 9.0 kiadásra jelölt változata
»Letölthető az új Rad Studio XE és Delphi XE
»Function-X digitális művészeti találkozó és demoscene party
»Webfejlesztőknek szóló közösségi oldalt indított a Microsoft
»Letölthető a hardvergyorsított Chrome 7 első fejlesztői kiadása
» több hír
PC Fórum hírek
»Itt az első kép az AMD nyolcmagos processzoráról
»"Szuperdizájnos" érintő-egeret mutatott be a Microsoft
»Szabadalmaztatta a számítógép kikapcsolását a Microsoft
»Vírusriadót váltott ki a webezőknél a Google
»Ingyen iWiW-ezhetnek mobiljaikról a T-Mobile-osok
»Automatikusan kiválogatja legfontosabb leveleink a Google
»OOo4Kids - ingyenes Office csomag gyerekeknek
»Új, gyorsabb Core i3 és Pentium processzorokat jelentett be az Intel
Tagi blogok
»PSP
»Első Programozó
»USB
»PHP, mint sablonmotor egyszerűen