Heim  >  Artikel  >  Backend-Entwicklung  >  Welches Systemarray verwendet PHP, um hochgeladene Dateiinformationen zu empfangen?

Welches Systemarray verwendet PHP, um hochgeladene Dateiinformationen zu empfangen?

WBOY
WBOYOriginal
2023-05-06 10:43:07730Durchsuche

Das von PHP zum Empfangen hochgeladener Dateiinformationen verwendete Systemarray ist $_FILES.

In PHP müssen wir häufig Datei-Uploads durchführen, beispielsweise das Hochladen von Bildern, Videos und anderen Dateien. Um relevante Informationen und Daten während des Upload-Vorgangs verarbeiten zu können, stellt PHP ein spezielles Systemarray $_FILES zum Speichern hochgeladener Dateiinformationen bereit. Die Variable

$_FILES ist ein zweidimensionales assoziatives Array mit der folgenden Struktur:

$_FILES = array(
    'file' => array(
        'name' => 'filename.txt',             //文件名
        'type' => 'text/plain',               //文件MIME类型
        'tmp_name' => '/tmp/php/php1h4jCk',   //上传的临时文件名
        'error' => 0,                         //上传的错误代码
        'size' => 123                           //上传文件的大小
   )
);

Wobei „Datei“ im Array der Name des Formularelements ist, wie zum Beispiel der folgende HTML-Code:

<form enctype="multipart/form-data" method="POST">
    <input type="file" name="file"/>
</form>

In dieser Form: „Datei“ Es ist der Name des Formularelements.

In $_FILES umfassen die spezifischen gespeicherten Informationen:

  • Name: Name der hochgeladenen Datei.
  • Typ: MIME-Typ der hochgeladenen Datei.
  • tmp_name: Der Name der hochgeladenen temporären Datei, gespeichert im temporären Verzeichnis auf der Serverseite.
  • Fehler: Der Fehlercode der hochgeladenen Datei. Wenn er 0 ist, bedeutet dies, dass der Upload erfolgreich war.
  • Größe: Die Größe der hochgeladenen Datei.

Das Folgende ist die Bedeutung jedes Felds in $_FILES:

  • Name

Der ursprüngliche Dateiname der hochgeladenen Datei, ohne den Dateipfad. Wenn der Dateiname beim Hochladen einer Datei geändert wird, speichert diese Variable den neuen Dateinamen.

  • Typ

Der MIME-Typ der hochgeladenen Datei, d. h. der Inhaltstyp der Datei, z. B. Text/Plain, Anwendung/Oktett-Stream usw.

  • tmp_name

Der temporäre Dateiname der hochgeladenen Datei und der Pfad zum Speichern dieser temporären Datei. Dieser Pfad ist das temporäre Verzeichnis auf der Serverseite.

  • Fehler

Fehlercode beim Hochladen von Dateien. Wenn der Upload erfolgreich ist, ist dieser Wert 0. Weitere mögliche Werte sind:

- UPLOAD_ERR_OK:文件上传成功。
- UPLOAD_ERR_INI_SIZE:上传的文件超过了php.ini 中 upload_max_filesize 选项限制的值。
- UPLOAD_ERR_FORM_SIZE:上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
- UPLOAD_ERR_PARTIAL:文件只有部分被上传。
- UPLOAD_ERR_NO_FILE:没有文件被上传。
- UPLOAD_ERR_CANT_WRITE:写入磁盘失败。
- UPLOAD_ERR_EXTENSION:PHP扩展停止文件上传。
  • size

Die Größe der hochgeladenen Datei in Bytes.

Beispiel für die Verwendung der Variable $_FILES:

Wenn wir ein Bild in ein Formular hochladen möchten, können wir den folgenden HTML-Code verwenden:

<form enctype="multipart/form-data" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
    <input type="file" name="image" />
    <input type="submit" name="submit" value="Upload Image" />
</form>

Auf der Serverseite können wir den folgenden PHP-Code verwenden, um das Hochladen von Dateien zu verwalten:

<?php
if(isset($_POST['submit']))
{
    $file = $_FILES['image'];
    $filename = $file['name'];
    $filetmp = $file['tmp_name'];
    $filesize = $file['size'];
    $filetype = $file['type'];

    // TODO: 处理上传文件

    move_uploaded_file($filetmp, "uploads/" . $filename);
}
?>

Bei der Verarbeitung hochgeladener Dateien prüfen wir zunächst, ob das übermittelte Formular das Feld „Senden“ enthält. Dies dient dazu, Fehler bei der Verarbeitung hochgeladener Dateien ohne Absenden des Formulars zu vermeiden.

Wir erhalten zunächst die Dateiinformationen aus der Variablen $_FILES und definieren die Variablen $filename, $filetmp, $filesize, $filetype, um den Dateinamen, den temporären Dateinamen der hochgeladenen Datei, die Dateigröße bzw. den MIME-Typ zu speichern.

Als nächstes können wir die PHP-Funktion move_uploaded_file() verwenden, um die hochgeladene Datei aus dem temporären Verzeichnis in das angegebene Verzeichnis zu verschieben, in dem wir die Datei speichern, wie zum Beispiel das Verzeichnis „uploads/“ im obigen Beispiel.

Zusammenfassung:

$_FILES ist die Schlüsselvariable für die Verarbeitung von Datei-Uploads in PHP. Sie enthält verschiedene Informationen zu hochgeladenen Dateien, einschließlich Dateiname, MIME-Typ, Name der temporären Upload-Datei, Größe usw. Bei der Verwendung von $_FILES müssen wir auf den Zeitpunkt der Formularübermittlung, die Logik der Verarbeitung hochgeladener Dateien und die Speichermethode hochgeladener Dateien achten.

Das obige ist der detaillierte Inhalt vonWelches Systemarray verwendet PHP, um hochgeladene Dateiinformationen zu empfangen?. 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