Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erklärung von $_FILES in PHP-Superglobalvariablen

Detaillierte Erklärung von $_FILES in PHP-Superglobalvariablen

藏色散人
藏色散人nach vorne
2020-01-27 15:20:163980Durchsuche

Detaillierte Erklärung von $_FILES in PHP-Superglobalvariablen

$_FILES – Ein Array von Elementen, die über HTTP POST in das aktuelle Skript hochgeladen werden.

Angenommen, wir laden das Dateifeld name='userfile' hoch, das Array $_FILES enthält:

$_FILES['userfile']['name']      //客户端机器文件的原名称。
$_FILES['userfile']['type']     //文件的 MIME 类型,如果浏览器提供此信息的话。一个例子是“image/gif”。不过此 MIME 类型在 PHP 端并不检查,因此不要想当然认为有这个值。
$_FILES['userfile']['size']     //已上传文件的大小,单位为字节。
$_FILES['userfile']['tmp_name']   //文件被上传后在服务端储存的临时文件名。
$_FILES['userfile']['error']      //和该文件上传相关的错误代码。此项目是在 PHP 4.2.0 版本中增加的。
/**

Die Fehlercodes sind:

UPLOAD_ERR_OK

Der Wert ist 0, es tritt kein Fehler auf und die Datei wurde erfolgreich hochgeladen.

UPLOAD_ERR_INI_SIZE

Der Wert ist 1 und die hochgeladene Datei überschreitet den durch die Option upload_max_filesize in php.ini begrenzten Wert.

UPLOAD_ERR_FORM_SIZE

Bei einem Wert von 2 überschreitet die Größe der hochgeladenen Datei den durch die Option MAX_FILE_SIZE im HTML-Formular angegebenen Wert.

Fügen Sie beispielsweise ein verstecktes Feld im Formular hinzu: Die Werteinheit ist Bytes

<form enctype="multipart/form-data" action="test.php" method="POST">
  <!-- MAX_FILE_SIZE must precede the file input field -->
  <input type="hidden" name="MAX_FILE_SIZE" value="12" />
  <!-- Name of input element determines name in $_FILES array -->
  Send this file: <input name="userfile" type="file" />
  <input type="submit" value="Send File" />
</form>

                                                3. Nur ein Teil der Datei wird hochgeladen.

UPLOAD_ERR_NO_FILE

Der Wert ist 4 und es wurde keine Datei hochgeladen.

UPLOAD_ERR_NO_TMP_DIR

Der Wert ist 6 und der temporäre Ordner kann nicht gefunden werden. Eingeführt in PHP 4.3.10 und PHP 5.0.3.

UPLOAD_ERR_CANT_WRITE

Der Wert ist 7, das Schreiben der Datei ist fehlgeschlagen. Eingeführt in PHP 5.1.0.

Nachdem die Datei hochgeladen wurde, wird sie standardmäßig im temporären Standardverzeichnis des Servers gespeichert, es sei denn, upload_tmp_dir in php.ini ist auf einen anderen Pfad eingestellt. Das standardmäßige temporäre Verzeichnis auf der Serverseite kann durch Ändern der Umgebungsvariablen TMPDIR der PHP-Laufumgebung zurückgesetzt werden, aber das Festlegen durch Ausführen der Funktion putenv() im PHP-Skript hat keine Auswirkung. Diese Umgebungsvariable kann auch verwendet werden, um zu bestätigen, dass auch andere Vorgänge für die hochgeladene Datei ausgeführt werden. Weitere Funktionen, die zum Hochladen von Dateien verwendet werden können:

is_uploaded_file:

is_uploaded_file — 判断文件是否是通过 HTTP POST 上传的
is_uploaded_file ( string $filename ) : bool

Parameter: Dateiname – der zu überprüfende Dateiname.

Rückgabewert: TRUE bei Erfolg oder FALSE bei Misserfolg. Gibt TRUE zurück, wenn die durch Dateiname angegebene Datei über HTTP POST hochgeladen wurde. Dies kann verwendet werden, um sicherzustellen, dass ein böswilliger Benutzer ein Skript nicht dazu verleiten kann, auf ansonsten unzugängliche Dateien wie /etc/passwd zuzugreifen.

move_uploaded_file:

move_uploaded_file — 将上传的文件移动到新位置
move_uploaded_file ( string $filename , string $destination ) : bool

Parameter: Dateiname Der Dateiname der hochgeladenen Datei; Ziel verschiebt die Datei an diesen Speicherort (absoluter Pfad)

This Funktionsprüfungen Und stellen Sie sicher, dass die durch Dateiname angegebene Datei eine legale Upload-Datei ist (d. h. über den HTTP-POST-Upload-Mechanismus von PHP hochgeladen wird). Wenn die Datei legal ist, wird sie in die durch das Ziel angegebene Datei verschoben. Weitere PHP-Kenntnisse finden Sie im

PHP-Tutorial

!

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung von $_FILES in PHP-Superglobalvariablen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen