Heim  >  Artikel  >  Backend-Entwicklung  >  Analyse häufig verwendeter Datei-Upload-Funktionen in PHP

Analyse häufig verwendeter Datei-Upload-Funktionen in PHP

WBOY
WBOYOriginal
2023-06-20 10:12:391686Durchsuche

Mit der Entwicklung von Webanwendungen ist das Hochladen von Dateien zu einer der häufigsten Funktionen bei der Entwicklung von Webprogrammen geworden. Als leistungsstarke serverseitige Programmiersprache bietet PHP außerdem eine Reihe von Funktionen zur Verarbeitung von Datei-Uploads. Im Folgenden werden die häufig verwendeten Datei-Upload-Funktionen in PHP analysiert.

  1. move_uploaded_file()

move_uploaded_file() ist eine der am häufigsten verwendeten Datei-Upload-Funktionen in PHP. Ihre Funktion besteht darin, die hochgeladene Datei aus dem temporären Verzeichnis in das angegebene Verzeichnis zu verschieben. Die Syntax lautet wie folgt:

move_uploaded_file (string $filename, string $destination): bool

wobei $filename der Quelldateipfad ist, $destination der Zieldateipfad ist und ein bool-Typwert zurückgegeben wird, um anzugeben, ob die Umzug war erfolgreich.

Beispiel:

$filename=$_FILES['file']['tmp_name'];
$destination="upload/".$_FILES['file']['name'];
if(move_uploaded_file($filename,$destination)){
    echo "上传成功";
}else{
    echo "上传失败";
}
  1. is_uploaded_file()

is_uploaded_file()-Funktion wird verwendet, um zu bestimmen, ob die angegebene Datei über HTTP POST hochgeladen wird. Wenn ja, gibt diese Funktion „true“ zurück, andernfalls gibt sie „false“ zurück. Die Syntax dieser Funktion lautet wie folgt:

is_uploaded_file (string $filename): bool

Dabei stellt $filename den zu testenden Dateinamen dar und der Rückgabewert ist vom Typ bool.

Beispiel:

if(is_uploaded_file($_FILES['file']['tmp_name'])){
    echo "这是上传的文件";
}else{
    echo "这不是上传的文件";
}
  1. $_FILES

$_FILES ist eine globale Variable in PHP, die zum Abrufen hochgeladener Dateiinformationen verwendet wird. Es handelt sich um ein zweidimensionales Array. Für jede hochgeladene Datei enthält das Array $_FILES 5 Elemente:

  • $_FILES['name']: der Name der hochgeladenen Datei
  • $_FILES['type']: der Typ der hochgeladenen Datei; $_FILES['size']: Die Größe der hochgeladenen Datei;
  • $_FILES['tmp_name']: Der temporäre Dateiname der hochgeladenen Datei;
  • $_FILES['error']: Der Fehlercode, der auftritt, wenn Hochladen der Datei.
  • Beispiel:
echo "上传文件名:".$_FILES['file']['name']."<br>";
echo "上传文件类型:".$_FILES['file']['type']."<br>";
echo "上传文件大小:".$_FILES['file']['size']."<br>";
echo "上传文件的临时文件名:".$_FILES['file']['tmp_name']."<br>";
echo "上传文件的错误代码:".$_FILES['file']['error']."<br>";

move_uploaded_file() und copy()
  1. Sowohl die Funktionen move_uploaded_file() als auch copy() können Dateien von einem Ort an einen anderen kopieren, der Unterschied zwischen ihnen besteht jedoch in der Sicherheit beim Hochladen von Dateien. Wenn die Funktion move_uploaded_file() die Datei speichert, prüft sie, ob die hochgeladene Datei über HTTP POST hochgeladen wurde, und die temporäre Datei wird automatisch gelöscht. Die Funktion copy() kopiert einfach die Datei, ohne solche Prüfungen durchzuführen, sodass die Sicherheit relativ gering ist. Daher sollten Sie bei der Verarbeitung von Datei-Uploads versuchen, die Funktion move_uploaded_file() zu verwenden.

Zusammenfassend wird für die PHP-Datei-Upload-Verarbeitung empfohlen, die Funktion move_uploaded_file() zum Verarbeiten hochgeladener Dateien zu verwenden und die Funktion is_uploaded_file() und die globale Variable $_FILES zur Überprüfung und Erfassung von Dateiinformationen zu verwenden. Dies gewährleistet die Sicherheit und Zuverlässigkeit der hochgeladenen Dateien.

Das obige ist der detaillierte Inhalt vonAnalyse häufig verwendeter Datei-Upload-Funktionen 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