Bildgröße ermitteln

Hallo!

Auf Linux oder Mac Servern würde ich das Problem so lösen:

PHP:
<?php
$filepath="bild.jpg";
echo exec('du -sh '.$filepath);
?>

Bei Windows Servern kann ich die leider nicht helfen, da ich ausschließlich auf Linux arbeite

lg matth-ee
 
Huhu, ich weis nicht aber vieleicht hilft Dir das weiter:
Code:
<?
$datei = "deineDatei.jpg";
$file_size = filesize("$datei");
echo "Deine Datei ist $file_size Byte groß";
?>

viele Grüße
 
was spuckt denn php aus?

bei mir funktionierts so:
PHP:
<?php
$filepath="tutorial.gif";
echo exec('du -sh '.$filepath);
?>

ich hab mal das tutorial bild genommen

php gibt das aus:

Code:
12K	tutorial.gif

vielleicht hast du auch ein rechteproblem oder du musst die php.ini anpassen...
 

Anhänge

  • tutorial.gif
    tutorial.gif
    8,1 KB · Aufrufe: 11
Um das ergebnis von filesize ein wenig anschaulicher zu gestalten habe ich mir folgende Funktion geschrieben:

PHP:
	function fileSizeFormat($size) {
		
		$counter = 0;
		$units = array('Byte','KB','MB','GB','TB');
		
		while ($size > 1024) {
			$size = $size / 1024;
			$counter++;
		}
		
		return round($size, 2).' '.$units[$counter];
	}

lg
 
Hehe. Das hat mir auch zu denken gegeben und da kam mir eine Idee:
PHP:
function byte_convert($iSize)
{
	$s = " KMGTPEZY";
	$i = floor( log($iSize, 1024) );
	return round($iSize / pow(1024, $i) , 2) . $s[$i] . "B";
}
 
Danke danke ^ ^
Einfach die von php.net bisschen verkürzt. Geht vielleicht noch performativer - ich schaff es aber nich' auf binärer Ebene 1024 ^ $i zu machen. z.B. : 1024 << 10 = 1024*1024 Egal, so is auch toll ;)
 
Zurück