Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Filesize liefert falsche größe

Frage Entwicklung PHP

Mitglied: ThorstenFritz

ThorstenFritz (Level 1) - Jetzt verbinden

03.06.2008, aktualisiert 04.06.2008, 6780 Aufrufe, 4 Kommentare

Problem mit der Funktion Filesize bei Dateien größer 5GB.

Hallo zusammen,

wie schon eingangs beschrieben liefert mit die Funktion filesize eine flaschen wert. Das aber auch nur bei Dateien (.zip) die ca. 5GB oder größer sind. Nachdem ich etwas gesucht habe, bin ich auf den Hinweis gestoßen die Funktion filesize() mit sprintf("%u", filesize($filename)) zu formatieren. Leider geht das nur mit Dateien zwischen 2GB und 4GB. Hat da jemand einen Tip für wie ich das Problem lösen kann oder gibt es eine andere Möglichkeit die Dateigröße zu ermitteln? Für Hilfe wäre ich dankbar.

apache 1.3
php 5.2.6

Mit freundlichen Grüßen
Thorsten
Mitglied: EvilMoe
03.06.2008 um 21:44 Uhr
Ich benutze dafür immer diese Funktion.
01.
<?php 
02.
function viewsize($size){ 
03.
      $kb = 1024; 
04.
      $mb = 1024 * $kb
05.
      $gb = 1024 * $mb
06.
      $tb = 1024 * $gb;  
07.
       
08.
      if($size < $kb
09.
         return $size.' B'
10.
      if($size < $mb
11.
         return round($size/$kb,2).' KB'
12.
      if($size < $gb
13.
         return round($size/$mb,2).' MB'
14.
      if($size < $tb
15.
         return round($size/$gb,2).' GB'
16.
      return round($size/$tb,2).' TB'
17.
   } // function - viewSize 
18.
?>
Bitte warten ..
Mitglied: ThorstenFritz
03.06.2008 um 22:09 Uhr
Hallo EvilMoe,

danke für deine Antwort, aber ich glaube das kann ich leider nicht verwenden.

Ich hole mal kurz aus.

Wenn ich mit der Funktion filesize($file) die Größe eine Datei feststellen möchte die als Zip File eine Größe von 5.4GB hat, liefert mir die Funktion nur einen Wert von 1.4GB und somit eine falsche Ausgangsgröße.

Deshalb glaube ich das ich deinen Vorschlag nicht verwenden kann, oder ich verstehe mal gerade nichts bzw. wie wird die Variable $Size in deinem Code gefüllt.

Ich brauche die genaue Dateigröße für einen Download. Ich habe die Syntax gerade nicht genau im Kopf, aber die Dateigröße wird mit der header(content-filesize .... ) Funktion gesetzt.
Bitte warten ..
Mitglied: EvilMoe
03.06.2008 um 22:53 Uhr
Sorry dann hatte ich dich falsch verstanden. Ich konnte bei php.net einiges drüber finden. Am besten probierst du selber mal einiges aus und gibst uns dann eine Rückmeldung.

http://de.php.net/filesize

Fand sowas zb. interessant vielleicht gehts ja.
01.
the fastest way to get the correct filesize in windows an linux would be this: 
02.
 
03.
<?php 
04.
  echo sprintf("%u", filesize($file)); 
05.
?> 
06.
 
07.
It prints the result of filesize as UNSIGNED INT so it can be until 4GB. 
08.
The reason is, SIGNED INT runs until 2GB and flips to -2GB watch following: 
09.
 
10.
file<2GB      = SIGNED:  1048576512 UNSIGNED: 1048576512 
11.
file>2GB      = SIGNED: -2100140103 UNSIGNED: 2194827193 
12.
file<4GB      = SIGNED:  -100662784 UNSIGNED: 4194304512 
13.
 
14.
p.s. I found this at: http://www.php.net/manual/en/function.filesize.php
Bitte warten ..
Mitglied: ThorstenFritz
04.06.2008 um 06:14 Uhr
Hallo EvilMoe,

danke für deine Antwort, ich werd mal schauen ob ich etwas brauchbares finden kann. Melde mich dann.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
E-Mail
gelöst Falsche SMTP Server IP Adresse (6)

Frage von laster zum Thema E-Mail ...

Mac OS X
gelöst Terminal Befehlseingabe liefert nur ein Pfeil nach rechts (5)

Frage von H41mSh1C0R zum Thema Mac OS X ...

Windows Server
gelöst Seit Zeitverschiebung falsche Zeit in Domäne (4)

Frage von honeybee zum Thema Windows Server ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (18)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...