Heim >Backend-Entwicklung >PHP-Tutorial >Wie ermittelt man die Größe großer Dateien auf einer 32-Bit-Plattform in PHP?

Wie ermittelt man die Größe großer Dateien auf einer 32-Bit-Plattform in PHP?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-21 16:32:02846Durchsuche

How to Determine the Size of Large Files on a 32-Bit Platform in PHP?

So bestimmen Sie die Größe großer Dateien auf einer 32-Bit-Plattform in PHP

Die Bestimmung der Größe von Dateien über 2 GB kann sein Eine Herausforderung, insbesondere auf 32-Bit-Plattformen, auf denen native PHP-Funktionen möglicherweise nicht ausreichen. Die folgenden Methoden versuchen, dieses Problem ohne den Einsatz externer Programme zu beheben:

Big File Tools

Das Open-Source-Projekt Big File Tools bietet eine Sammlung von Hacks für Verwaltung von Dateien über 2 GB in PHP, sogar auf 32-Bit-Systemen. Es bietet eine Lösung zum Abrufen von Dateigrößen sowohl auf Windows- als auch auf Linux/Mac-Plattformen: https://github.com/jkuchar/BigFileTools

filesize64-Funktion

Die Dateigröße64 Die unten dargestellte Funktion versucht verschiedene Methoden, um die Dateigröße großer Dateien zu ermitteln:

  • Shell-Befehl: Wenn möglich, werden plattformspezifische Shell-Befehle verwendet (z. B. Windows-Shell-Ersetzung oder *nix stat-Befehl), um die Dateigröße abzurufen.
  • COM-Schnittstelle (Windows): Unter Windows nutzt es die COM-Schnittstelle, um auf die Dateigröße zuzugreifen.
  • Native filesize()-Funktion: Als Fallback wird auf die native filesize()-Funktion zurückgegriffen.

Die Implementierung der filesize64-Funktion ist wie folgt:

<code class="php">function filesize64($file)
{
    // ... (code as provided in the original answer) ...
}</code>

Durch den Einsatz dieser Funktion oder die Verwendung der Big File Tools-Bibliothek können Entwickler die Einschränkungen nativer PHP-Funktionen überwinden und die Größe von Dateien, die größer als 2 GB sind, auf 32-Bit-Plattformen genau bestimmen.

Das obige ist der detaillierte Inhalt vonWie ermittelt man die Größe großer Dateien auf einer 32-Bit-Plattform in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn