Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich Dateierweiterungen in PHP effizient validieren?

Wie kann ich Dateierweiterungen in PHP effizient validieren?

DDD
Freigeben: 2024-11-28 03:45:14
Original
242 Leute haben es durchsucht

How Can I Efficiently Validate File Extensions in PHP?

Gewährleistung einer genauen Dateierweiterungsprüfung

Die Überprüfung der Dateierweiterung ist bei der Verarbeitung von Datei-Uploads in PHP von entscheidender Bedeutung. Eine gängige Methode ist die Verwendung der Pathinfo-Funktion, wie in der Abfrage gezeigt:

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

Dieser Ansatz ist jedoch möglicherweise nicht optimal, wenn ein breiteres Spektrum an Erweiterungen unterstützt wird. Stellen Sie sich den Fall vor, in dem Sie 20 verschiedene Erweiterungen zulassen:

if ($ext !== 'gif' || $ext !== 'png' || $ext !== 'jpg' || ...) {
    // ...
}
Nach dem Login kopieren

Ein solcher Code wäre ausführlich und möglicherweise ineffizient. Eine alternative Methode besteht darin, eine Reihe zulässiger Erweiterungen 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 vereinfacht den Code und verbessert die Effizienz, indem er die Anzahl der erforderlichen Vergleiche reduziert. Indem Sie prüfen, ob die Erweiterung im $allowed-Array vorhanden ist, können Sie ihre Gültigkeit schnell überprüfen.

Das obige ist der detaillierte Inhalt vonWie kann ich Dateierweiterungen in PHP effizient validieren?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage