„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie validiere ich hochgeladene Dateitypen in PHP mit „in_array()“?

Wie validiere ich hochgeladene Dateitypen in PHP mit „in_array()“?

Veröffentlicht am 26.11.2024
Durchsuche:107

How to Validate Uploaded File Types in PHP with `in_array()`?

Hochladen bestimmter Dateitypen mit PHP

In Webanwendungen erfordert das Hochladen von Dateien durch Benutzer sorgfältige Überlegungen zur Sicherheit und Inhaltsvalidierung. Wenn Sie Uploads auf bestimmte Dateitypen beschränken möchten, bietet PHP über die Funktion in_array() eine Lösung.

Problem:

Sie möchten eine if-Anweisung in erstellen PHP validiert hochgeladene Dateien und erlaubt nur Dateien der folgenden Typen: JPG, GIF und PDF. Der folgende Code erfordert die entsprechende Strukturierung der if-Anweisung.

$file_type = $_FILES['foreign_character_upload']['type']; //returns the mimetype

if(/*$file_type is anything other than jpg, gif, or pdf*/) {
  $error_message = 'Only jpg, gif, and pdf files are allowed.';
  $error = 'yes';
}

Lösung:

Um sicherzustellen, dass die hochgeladenen Dateien Ihren Spezifikationen entsprechen, erstellen Sie ein Array zulässiger Dateitypen und verwenden Sie in_array(), um zu bestimmen, ob der Mimetyp der hochgeladenen Datei ist im Array enthalten.

$file_type = $_FILES['foreign_character_upload']['type']; //returns the mimetype

$allowed = array("image/jpeg", "image/gif", "application/pdf");
if(!in_array($file_type, $allowed)) {
  $error_message = 'Only jpg, gif, and pdf files are allowed.';
  $error = 'yes';
}

Durch den Vergleich des Dateityps mit der vordefinierten Liste zulässiger Typen verhindert diese überarbeitete if-Anweisung effektiv das Hochladen nicht konformer Dateien.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3