Heim  >  Artikel  >  Backend-Entwicklung  >  Wie validiere ich Datei-Upload-Typen in PHP?

Wie validiere ich Datei-Upload-Typen in PHP?

Barbara Streisand
Barbara StreisandOriginal
2024-11-10 11:44:02347Durchsuche

How to Validate File Upload Types in PHP?

Hochladen bestimmter Dateiformate in PHP mit bedingter Validierung

Um das Hochladen von Dateien auf bestimmte Typen zu beschränken, implementieren Sie einen bedingten Validierungsmechanismus mithilfe des globalen Arrays $_FILES und des in_array( )-Funktion in PHP.

Die Codestruktur umfasst:

  1. Extrahieren Sie den MIME-Typ der Datei (mime):Erhalten Sie den MIME-Typ der Datei aus den $_FILES' Datei'-Array. Dieser Wert stellt das Format der Datei dar, z. B. „image/jpeg“ für JPEG-Bilder.
  2. Zulässige Dateitypen definieren (Array): Erstellen Sie ein Array, das die Mime-Typen der zulässigen Dateitypen enthält . Wenn Sie beispielsweise nur JPEG-, GIF- und PDF-Dateien zulassen möchten, könnte Ihr Array wie folgt aussehen:
$allowed = array('image/jpeg', 'image/gif', 'application/pdf');
  1. Vergleich mit zulässigen Typen (if-Anweisung). ): Verwenden Sie die Funktion in_array(), um den MIME-Typ der Datei mit den zulässigen Typen zu vergleichen. Diese Funktion gibt „true“ zurück, wenn der MIME-Typ mit einem beliebigen Eintrag im $allowed-Array übereinstimmt, andernfalls „false“. Schließen Sie diese Bedingung in eine if-Anweisung ein, um zu prüfen, ob der Dateityp nicht zulässig ist.

Hier ist der geänderte Code:

$mime = $_FILES['foreign_character_upload']['type']; // File mime type

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

Wenn der MIME-Typ der Datei mit keinem übereinstimmt Bei allen zulässigen Typen ist die if-Bedingung wahr und die Variablen $error und $error_message werden entsprechend gesetzt. Dadurch können Sie den Upload-Fehler beheben und dem Benutzer Feedback geben.

Das obige ist der detaillierte Inhalt vonWie validiere ich Datei-Upload-Typen 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