Bewertung von Benutzerdatei-Uploads in PHP
Bei der Validierung von Benutzereingaben ist die Sicherstellung der Integrität der Datei-Uploads von entscheidender Bedeutung. Einige Formulare erlauben jedoch möglicherweise optionale Uploads. In solchen Fällen ist es wichtig, die Validierung für Benutzer zu überspringen, die keine Dateien übermittelt haben.
Bestimmen der Datei-Upload-Präsenz
Um zu überprüfen, ob eine Datei hochgeladen wurde, verwenden Sie $_FILES ['myfile']['size'] <= 0 ist nicht zuverlässig. Stattdessen bietet die Funktion is_uploaded_file() einen genaueren Indikator.
Verwendung von is_uploaded_file()
<code class="php">if(!file_exists($_FILES['myfile']['tmp_name']) || !is_uploaded_file($_FILES['myfile']['tmp_name'])) { echo 'No upload'; }
Wie in der offiziellen Dokumentation erklärt, ist diese Funktion:
Beispielimplementierung
Betrachten Sie dieses Beispiel aus einer FileUpload-Klasse:
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;
}
Diese Methode prüft zunächst, ob das Array $_FILES leer ist. Wenn nicht, ruft es die hochgeladene Datei ab und validiert ihre Existenz mit file_exists(). Abschließend bestätigt is_uploaded_file(), ob die Datei tatsächlich hochgeladen wurde.
Das obige ist der detaillierte Inhalt vonWie kann man zuverlässig feststellen, ob eine Datei in PHP hochgeladen wurde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!