CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
27.05.2009, 15:55:45
|
Anfänger
|
|
Registriert seit: Dec 2008
Alter: 55
Beiträge: 11
|
|
diskUsage, Bytes in MB berechnen
Hallo zusammen,
ich möchte den Speicherplatz eines Verzeichnisses berechnen. Dieses Script gibt mir eine Zahl in Byte aus.
Jetzt möchte ich aber den noch verbleibenden Speicherplatz in MB beechnen.
Beispiel: 100 MB - belegter Speicherlatz = eine Zahl in MB
Kann mir jemand helfen?
Anbei mein Script
<?PHP
function diskUsage( $dir ) {
if ( is_file ( $dir ) )
return filesize( $dir );
if( strlen( $dir ) - 1 != '\\' || strlen( $dir ) - 1 != '/' )
$dir .= '/';
$handle = @opendir( $dir );
if( !$handle )
return false;
while ( ( $file = readdir( $handle ) ) !== false ) {
if( $file != '.' && $file != '..' ) {
$use += diskUsage( $dir.$file );
}
}
closedir( $handle );
return $use;
}
echo 'Speicherbelegung: ' . diskUsage("images/") . ' Bytes';
?>
Viele Grüsse,
Erk Nissen
|
27.05.2009, 15:59:14
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
|
|
AW: diskUsage, Bytes in MB berechnen
PHP-Code:
<?php
function my_filesize($dir)
{
$size = 0;
foreach(glob($dir.'/*',GLOB_NOSORT) as $file)
{
if(is_file($file)) $size = bcadd($size,filesize($file));
if(is_dir($file)) $size = bcadd($size,my_filesize($file));
}
return $size;
}
function bcdivround($dividend, $divisor, $genauigkeit = 5)
{
$quotient = bcdiv($dividend, $divisor, $genauigkeit);
return bcdiv(bcadd($quotient,0.5),1,0);
}
// testcode
$path = realpath('./'); // <<--- anpassen
$byte = my_filesize($path);
$kilobyte = bcdivround($byte,bcpow(1024,1,0));
$megabyte = bcdivround($byte,bcpow(1024,2,0));
$gigabyte = bcdivround($byte,bcpow(1024,3,0));
$terabyte = bcdivround($byte,bcpow(1024,4,0));
$petabyte = bcdivround($byte,bcpow(1024,5,0));
$exabyte = bcdivround($byte,bcpow(1024,6,0));
$zettabyte = bcdivround($byte,bcpow(1024,7,0));
$yottabyte = bcdivround($byte,bcpow(1024,8,0));
echo $byte .' Byte<br>';
echo $kilobyte .' KB <br>';
echo $megabyte .' MB <br>';
echo $gigabyte .' GB <br>';
echo $terabyte .' TB <br>';
echo $petabyte .' PB <br>';
echo $exabyte .' EB <br>';
echo $zettabyte.' ZB <br>';
echo $yottabyte.' YB <br>';
?>
|
27.05.2009, 16:02:12
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: diskUsage, Bytes in MB berechnen
Zitat:
Zitat von erknissen
Dieses Script gibt mir eine Zahl in Byte aus [...] Jetzt möchte ich aber den noch verbleibenden Speicherplatz in MB beechnen [...] Kann mir jemand helfen?
|
das ist nicht dein ernst, oder?
http://de.wikipedia.org/wiki/Byte#Gr...gsauffassungen
btw. nutze die foren-tags zur formatierung von quellcodes - in deinem eigenen interesse.
cx
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:26:16 Uhr.
|