Heim >Backend-Entwicklung >PHP-Tutorial >Wie können Sie feststellen, ob ein Benutzer eine Datei in PHP hochgeladen hat, auch wenn der Upload optional ist?

Wie können Sie feststellen, ob ein Benutzer eine Datei in PHP hochgeladen hat, auch wenn der Upload optional ist?

Barbara Streisand
Barbara StreisandOriginal
2024-11-02 19:03:02555Durchsuche

How Can You Determine if a User Has Uploaded a File in PHP, Even if the Upload is Optional?

Überprüfen von Benutzerdatei-Uploads in PHP

Wie können Sie feststellen, ob ein Benutzer eine Datei in PHP hochgeladen hat, auch wenn der Upload optional ist? ?

Lösung:

1. Verwenden Sie is_uploaded_file()

Um zu überprüfen, ob eine Datei hochgeladen wurde, verwenden Sie:

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

is_uploaded_file() stellt sicher, dass die Datei über HTTP POST hochgeladen wurde und verhindert böswillige Uploads.

2. FileUpload-Klasse mit FileUpload()-Methode

In einer FileUpload-Klasse können Sie die fileUploaded()-Methode implementieren:

<code class="php">public function fileUploaded()
{
    if(empty($_FILES)) {
        return false;       
    } 
    $this->file = $_FILES[$this->formField];
    if(!file_exists($this->file['tmp_name']) || !is_uploaded_file($this->file['tmp_name'])){
        $this->errors['FileNotExists'] = true;
        return false;
    }   
    return true;
}</code>

Diese Methode prüft, ob Dateien im POST vorhanden sind Anfrage und gibt false zurück, wenn die Datei nicht existiert oder nicht hochgeladen wird. Es setzt ein Fehlerflag, wenn die Datei fehlt, und gibt true zurück, wenn die Datei erfolgreich hochgeladen wurde.

Das obige ist der detaillierte Inhalt vonWie können Sie feststellen, ob ein Benutzer eine Datei in PHP hochgeladen hat, auch wenn der Upload optional ist?. 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