Heim  >  Artikel  >  Backend-Entwicklung  >  Schritte zum Hochladen von PHP-Dateien

Schritte zum Hochladen von PHP-Dateien

藏色散人
藏色散人Original
2021-03-26 09:16:513308Durchsuche

Schritte zum Hochladen von PHP-Dateien: Erstellen Sie zunächst ein Datei-Upload-Formular. Erstellen Sie dann die Datei „upload_file.php“ und legen Sie dann Einschränkungen für das Hochladen der Datei fest.

Schritte zum Hochladen von PHP-Dateien

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

PHP-Datei-Upload

Über PHP können Dateien auf den Server hochgeladen werden.

Das Erstellen eines Datei-Upload-Formulars

ist sehr nützlich, um Benutzern das Hochladen von Dateien aus dem Formular zu ermöglichen.

Schauen Sie sich das folgende HTML-Formular zum Hochladen von Dateien an:

<html>
<body>
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>

Bitte beachten Sie die folgenden Informationen zu diesem Formular:

ff9c23ada1bcecdd1a0fb5d5a0f18437 Das enctype-Attribut des Tags gibt an, welcher Inhaltstyp beim Absenden des Formulars verwendet werden soll. Verwenden Sie „multipart/form-data“, wenn Ihr Formular Binärdaten erfordert, z. B. Dateiinhalte.

d5fd7aea971a85678ba271703566ebfd Das Attribut type="file" des Tags gibt an, dass die Eingabe als Datei verarbeitet werden soll. Wenn Sie beispielsweise eine Vorschau in einem Browser anzeigen, wird neben dem Eingabefeld eine Schaltfläche zum Durchsuchen angezeigt.

Hinweis: Benutzern das Hochladen von Dateien zu erlauben, stellt ein großes Sicherheitsrisiko dar. Bitte erlauben Sie nur vertrauenswürdigen Benutzern, Datei-Upload-Vorgänge durchzuführen.

【Empfohlenes Lernen: PHP-Video-Tutorial

Erstellen Sie ein Upload-Skript

Die Datei „upload_file.php“ enthält den Code zum Hochladen von Dateien:

<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br />";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  echo "Type: " . $_FILES["file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }
?>

Mithilfe des globalen PHP-Arrays $_FILES können Sie herunterladen die Datei vom Client. Der Computer lädt die Datei auf den Remote-Server hoch.

Der erste Parameter ist der Eingabename des Formulars, und der zweite Index kann „Name“, „Typ“, „Größe“, „tmp_name“ oder „Fehler“ sein. So:

$_FILES["file"]["name"] - 被上传文件的名称
$_FILES["file"]["type"] - 被上传文件的类型
$_FILES["file"]["size"] - 被上传文件的大小,以字节计
$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"] - 由文件上传导致的错误代码

Dies ist eine sehr einfache Möglichkeit, Dateien hochzuladen. Aus Sicherheitsgründen sollten Sie Beschränkungen hinzufügen, wer zum Hochladen von Dateien berechtigt ist.

Upload-Limit

In diesem Skript haben wir ein Limit für das Hochladen von Dateien hinzugefügt. Benutzer können nur .gif- oder .jpeg-Dateien hochladen, und die Dateigröße muss weniger als 20 KB betragen:

<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Error: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Stored in: " . $_FILES["file"]["tmp_name"];
    }
  }
else
  {
  echo "Invalid file";
  }
?>

Hinweis: Für IE muss der Typ zum Erkennen von JPG-Dateien pjpeg sein, und für FireFox muss er jpeg sein.

Speichern Sie die hochgeladene Datei

Das obige Beispiel erstellt eine temporäre Kopie der hochgeladenen Datei im temporären PHP-Ordner des Servers.

Diese temporär kopierte Datei verschwindet, wenn das Skript endet. Um die hochgeladene Datei zu speichern, müssen wir sie an einen anderen Ort kopieren:

<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>

Das obige Skript erkennt, ob die Datei bereits existiert. Wenn sie nicht existiert, kopiert es die Datei in den angegebenen Ordner.

Hinweis: In diesem Beispiel wird die Datei in einem neuen Ordner mit dem Namen „upload“ gespeichert.

Das obige ist der detaillierte Inhalt vonSchritte zum Hochladen von PHP-Dateien. 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