Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann festgestellt werden, ob ein Benutzer eine Datei in PHP hochgeladen hat?

Wie kann festgestellt werden, ob ein Benutzer eine Datei in PHP hochgeladen hat?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-01 15:58:021067Durchsuche

How to Determine if a User Has Uploaded a File in PHP?

Bestimmen des Benutzerdatei-Uploads in PHP

Bei der Implementierung der Formularvalidierung für Datei-Uploads ist die Handhabung optionaler Uploads von entscheidender Bedeutung. Um zwischen einem übermittelten Formular ohne Upload und einem Validierungsfehler zu unterscheiden, muss das Vorhandensein einer hochgeladenen Datei überprüft werden.

Überprüfung auf Datei-Upload mit is_uploaded_file()

Um festzustellen, ob ein Benutzer eine Datei hochgeladen hat, können Sie die Funktion is_uploaded_file() verwenden. Diese Funktion gibt TRUE zurück, wenn eine Datei mit dem angegebenen Dateinamen existiert und über HTTP POST hochgeladen wurde.

Verwendung:

<code class="php">if (!file_exists($_FILES['myfile']['tmp_name']) || !is_uploaded_file($_FILES['myfile']['tmp_name'])) {
    echo 'No upload';
}</code>

Dieser Code prüft, ob eine Datei beides ist im temporären Verzeichnis vorhanden ($_FILES['myfile']['tmp_name']) und wurde wie erwartet hochgeladen. Wenn eine der Bedingungen nicht erfüllt ist, bedeutet dies, dass keine Datei hochgeladen wurde.

Zusätzliche Überlegungen

  • Die Überprüfung von file_exists() ist erforderlich, da dies bei einigen Webservern der Fall ist Erstellen Sie die temporäre Datei nicht, wenn der Upload fehlschlägt.
  • Die Funktion is_uploaded_file() soll verhindern, dass böswillige Benutzer das Skript ausnutzen, um zu funktionieren auf nicht autorisierte Dateien.
  • Zur weiteren Validierung können Sie auch $_FILES['myfile']['size'] überprüfen, um sicherzustellen, dass die Datei nicht leer ist.

Das obige ist der detaillierte Inhalt vonWie kann festgestellt werden, ob ein Benutzer eine Datei in PHP hochgeladen hat?. 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