Heim  >  Artikel  >  Backend-Entwicklung  >  Was sind die Schritte zum Hochladen von PHP-Dateien?

Was sind die Schritte zum Hochladen von PHP-Dateien?

angryTom
angryTomOriginal
2019-08-22 11:53:377344Durchsuche

Was sind die Schritte zum Hochladen von PHP-Dateien?

Wenn wir Websites entwickeln, müssen wir häufig eine Datei-Upload-Funktion erstellen. Im Folgenden stellen wir Ihnen die detaillierten Schritte zum Erstellen einer Datei-Upload-Funktion in PHP vor.

Empfohlene Tutorials: PHP-Video-Tutorial

Schritt 1: Erstellen Sie ein Datei-Upload-Formular

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

Bitte 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:

Das enctype-Attribut des ff9c23ada1bcecdd1a0fb5d5a0f18437-Tags gibt an Der Inhaltstyp, der 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.

Kommentar: 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.

Schritt 2: 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 Dateien vom Client-Computer auf einen Remote-Server hochladen.

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"] – Der Name der hochgeladenen Datei

 ●$_FILES["file"]["type"] - Der Name der hochgeladenen Datei Typ der hochgeladenen Datei

 ●$_FILES["file"]["size"] – Die Größe der hochgeladenen Datei in Bytes

 ●$_FILES["file "][" tmp_name"] – Der Name der temporären Kopie der auf dem Server gespeicherten Datei

 ●$_FILES["file"]["error"] - Der durch den Datei-Upload verursachte Fehlercode

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.

Schritt 3: Upload-Beschränkungen

In diesem Skript fügen wir Einschränkungen für Datei-Uploads hinzu. 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 der erkannten JPG-Datei pjpeg sein. Für FireFox muss es JPEG sein.

Schritt 4: Speichern Sie die hochgeladene Datei

Das obige Beispiel erstellt eine hochgeladene 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.

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

Das obige ist der detaillierte Inhalt vonWas sind die Schritte 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