Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich Dateierweiterungen in PHP effizient überprüfen?

Wie kann ich Dateierweiterungen in PHP effizient überprüfen?

Patricia Arquette
Freigeben: 2024-12-02 11:25:12
Original
577 Leute haben es durchsucht

How Can I Efficiently Check File Extensions in PHP?

So überprüfen Sie Dateierweiterungen effektiv mit PHP

Die Validierung von Dateierweiterungen ist entscheidend für die Gewährleistung sicherer Datei-Uploads. In PHP bietet die Funktion pathinfo() eine praktische Möglichkeit, Dateierweiterungen zu extrahieren. Es ist jedoch wichtig, den Validierungsprozess im Hinblick auf Effizienz zu optimieren.

Ursprünglicher Ansatz:

Der bereitgestellte Code nutzt die Funktion pathinfo(), um die Dateierweiterung zu extrahieren und zu vergleichen gegen bestimmte Werte, um seine Gültigkeit zu bestimmen:

$filename = $_FILES['video_file']['name'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if ($ext !== 'gif' || $ext !== 'png' || $ext !== 'jpg') {
    echo 'error';
}
Nach dem Login kopieren

Potenzial Ineffizienz:

Dieser Ansatz ist jedoch möglicherweise nicht effizient, wenn eine große Anzahl zulässiger Erweiterungen vorhanden ist. Das Prüfen jeder Erweiterung einzeln mithilfe mehrerer Vergleiche ist rechenintensiv.

Optimierter Ansatz:

Um die Effizienz zu verbessern, wird empfohlen, ein Array zum Speichern der zulässigen Dateierweiterungen zu verwenden:

$allowed = array('gif', 'png', 'jpg');
$filename = $_FILES['video_file']['name'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if (!in_array($ext, $allowed)) {
    echo 'error';
}
Nach dem Login kopieren

Dieser Ansatz macht mehrere Vergleiche überflüssig, indem die Funktion in_array() verwendet wird, um zu prüfen, ob die Erweiterung innerhalb des zulässigen Bereichs vorhanden ist Erweiterungen-Array. Dies reduziert die Anzahl der erforderlichen Vorgänge erheblich und macht den Validierungsprozess schneller und effizienter.

Das obige ist der detaillierte Inhalt vonWie kann ich Dateierweiterungen in PHP effizient überprüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage