Heim Backend-Entwicklung PHP-Tutorial Detaillierte Einführung in das Hochladen von PHP-Dateien

Detaillierte Einführung in das Hochladen von PHP-Dateien

Feb 27, 2017 am 09:24 AM

Lassen Sie mich zunächst feststellen, dass dieses Kapitel viel Inhalt enthält und relativ schwierig ist. Sie müssen eine Einstellung haben, mit sich selbst zu kämpfen. Verpassen Sie nicht die Feinheiten, sondern üben Sie mehr und mehr.

Lernen ist wie das Besteigen eines Berges. Man muss sich zunächst ein kleines Ziel setzen und dann immer höher klettern, bis man den Gipfel erreicht.

Bitte beachten Sie die beiden oben genannten Ratschläge sorgfältig

1. Beschreibung meiner Vorbereitungen.

Editor: sublime text3 (welcher Editor Sie verwenden, hängt von Ihrer Präferenz ab)

Serveraufbau: Verwenden Sie phpstudy2014, um den Server zu erstellen , Server Die Datei wird in der WWW-Datei auf dem Laufwerk D meines Computers gespeichert. (Bei der Installation von phpstudy wird automatisch die WWW-Datei generiert. Sie entscheiden, auf welcher Festplatte Sie sie installieren möchten.) Führen Sie phpstudy aus und geben Sie „localhost“ in die Adressleiste des Browsers ein, um auf Dateien auf dem Server zuzugreifen.

Der Prozess des Hochladens von Dateien: Der Browser lädt die Datei auf den Client hoch, klickt auf „Senden“, die Datei wird zur Verarbeitung an eine PHP-Datei auf dem Server gesendet und der PHP speichert die hochgeladene Datei Datei auf den Server.

2. Erstellen Sie ein Formular

Bitte sehen Sie sich meinen HTML-Code

Detaillierte Einführung in das Hochladen von PHP-Dateien

enctype
im Formular an Element In der Syntax gibt EncType das Format der übermittelten Daten an. Das Enctype-Attribut gibt den Codierungstyp an, den der Browser beim Zurücksenden von Daten an den Server verwendet. Es gibt drei Arten von Enctype:

1. application/x-www-form-urlencoded: Formulardaten werden als Name/Wert-Paare codiert. Dies ist ein Standard-Codierungsformat.

2. Multipart/Formulardaten: Formulardaten werden als Nachricht codiert und jedes Steuerelement auf der Seite entspricht einem Teil der Nachricht.

3. Text/Plain: Die Formulardaten werden im Klartext codiert, ohne Steuerelemente oder Formatierungszeichen.

Ergänzung (sehen Sie sich einfach um): Das enctype-Attribut von ORM ist die Kodierungsmethode. Es gibt zwei häufig verwendete: application/x-www-form-urlencoded und multipart/form-data application/x- www-form-urlencoded. Wenn die Aktion get ist, verwendet der Browser die Kodierungsmethode x-www-form-urlencoded, um die Formulardaten in eine Zeichenfolge umzuwandeln (Name1=Wert1&Name2=Wert2...), hängt die Zeichenfolge dann an das Ende der URL an und teilt sie auf es mit ?, und lädt diese neue URL. Wenn die Aktion „Post“ ist, kapselt der Browser die Formulardaten in den http-Body und sendet sie dann an den Server. Wenn kein type=file-Steuerelement vorhanden ist, verwenden Sie einfach die Standardanwendung/x-www-form-urlencoded. Wenn jedoch type=file vorhanden ist, werden multipart/form-data verwendet. Der Browser unterteilt das gesamte Formular in Steuereinheiten und fügt Informationen wie Content-Disposition (Formulardaten oder Datei), Content-Type (Standard ist Text/Plain), Name (Steuerelementname) und Trennzeichen hinzufügen (Grenze) hinzu. .

Ein bisschen schwer zu verstehen.

Kurz gesagt, merken Sie sich zwei Sätze: Wenn im Eingabe-Tag type=file steht, dann enctype=multipart/form-data. Wenn kein type=file vorhanden ist, wird im Allgemeinen application/x-www-form-urlencoded verwendet.

Beim Hochladen von Dateien müssen die Daten bis zu einem gewissen Grad konvertiert werden, bevor sie auf den Server hochgeladen werden können. Der Unterschied zwischen application/x-www-form-urlencoded und multipart/form-data ist die Konvertierungskodierung Verfahren.

3. Erstellen Sie eine PHP-Datei, um die hochgeladenen Dateien zu verarbeiten.

Detaillierte Einführung in das Hochladen von PHP-Dateien

Der Effekt nach dem Hochladen der Datei ist wie folgt:

Detaillierte Einführung in das Hochladen von PHP-Dateien

Jede hochgeladene Datei hat einen Namen und einen Typ , Größe, tmp_name und andere Informationen. Nachdem die Datei hochgeladen wurde, werden die dateibezogenen Informationen in der Array-Variablen FILES gespeichert. _FILES["myfile"]["name"] entspricht dem Zugriff auf ein mehrdimensionales Array. FILES ruft zunächst die vom Eingabeformular namens myfile hochgeladenen Dateidaten ab und greift dann auf Name, Typ, Größe, Fehler und andere Daten zu. _FILES["myfile"]["error"] wird verwendet, um Situationen zu behandeln, in denen Dateien nicht normal hochgeladen werden, z. B. wenn die Größenbeschränkung für hochgeladene Dateien überschritten wird. Wenn FILES["myfile"]["error"]=0, bedeutet dies, dass die Datei normal hochgeladen wird. _FILES["myfile"]["error"]>0 bedeutet, dass die Datei nicht normal hochgeladen wurde.

FILES["myfile"]["error"]=1 Die hochgeladene Datei überschreitet das Serverlimit, z. B. die Serverspeichergröße. _FILES["myfile"]["error"]=2 überschreitet das Browserlimit zum Hochladen $_FILES["myfile"]["error"]=3 Nur ein Teil der Datei wird hochgeladen

FILES["myfile " ]["error"]=4 Es wurde keine Datei hochgeladen. _FILES["myfile"]["error"] kann auch 5, 6, 7 oder 8 sein. Ich werde hier nicht auf Details eingehen. Beachten Sie jedoch, dass ein Fehler beim Hochladen vorliegt, wenn der Wert größer als 0 ist die Datei.

Upload-Beschränkungen

Normalerweise begrenzt der Server die Größe oder Art der vom Server hochgeladenen Dateien. Wir fügen Einschränkungen für den hochgeladenen Dateicode hinzu, basierend auf dem oben genannten PHP-Code.

Machen Sie sich zunächst mit der Nutzung einiger Funktionen vertraut:

Die Funktion „explodieren“ wird zum Teilen einer Zeichenfolge verwendet. Beispiel: „explodieren(“.“, „aaa.HTML“) teilt die Zeichenfolge an der Punktposition in zwei Zeichenfolgen: „aaa“ und „HTML“. werden nacheinander im selben Array gespeichert.

end() ruft den Wert des letzten Elements im Array ab.

in_array() sucht nach einem Element im Array, um zu sehen, ob es existiert. Es gibt true zurück, wenn es existiert, und false, wenn es nicht existiert.

<?php
//第一步:明确服务器规定上传至服务器的文件类型。这里我们只允许上传以下类型的图片。
$allowedExts = array("gif", "jpeg", "jpg", "png");// 允许上传的图片后缀
//第二部:获取上传的文件名称,通过explorde()函数将其分割成字符串形式的数组。
$temp = explode(".", $_FILES["myfile"]["name"]);
echo $_FILES["file"]["size"];

$extension = end($temp);   // end函数用于获取数组中最后一个元素的值。
//第三步:列出上传文件需要满足的条件
if ((($_FILES["myfile"]["type"] == "image/gif")
|| ($_FILES["myfile"]["type"] == "image/jpeg")
|| ($_FILES[myfile"]["type"] == "image/jpg")
|| ($_FILES["myfile"]["type"] == "image/pjpeg")
|| ($_FILES["myfile"]["type"] == "image/x-png")
|| ($_FILES["myfile"]["type"] == "image/png"))
&& ($_FILES["myfile"]["size"] < 204800)  // 小于 200 kb
&& in_array($extension, $allowedExts))
  //in_array表示在$allowedExts数组中查找$extension这个字符串
{
  if ($_FILES["myfile"]["error"] > 0)
  {
    echo "错误:: " . $_FILES["myfile"]["error"] . "<br>";
    //举个例子服务器空间不足,文件只能上传部分就会出现错误。
  }
  else
  {
    echo "上传文件名: " . $_FILES["myfile"]["name"] . "<br>";
    echo "文件类型: " . $_FILES["myfile"]["type"] . "<br>";
    echo "文件大小: " . ($_FILES["myfile"]["size"] / 1024) . " kB<br>";
    echo "文件临时存储的位置: " . $_FILES["myfile"]["tmp_name"] . "<br>";
  }
}
else
{
  echo "非法的文件格式";
}
?>
Nach dem Login kopieren


4. Speichern Sie die hochgeladene Datei

Nachdem die Datei hochgeladen wurde, wird sie an einem temporären Speicherort gespeichert. Es verschwindet, wenn das Skript endet. Wenn wir es dauerhaft auf dem Server speichern möchten, müssen wir es an einem anderen Ort speichern.

. file_exists(“upload/”. FILES[“file”][“name”]) prüft, ob die Datei oder das Verzeichnis existiert. .moveuploadedfile(_FILES["file"]["tmp_name"], "upload/" . $_FILES["myfile"]["name"]);Verschieben Sie die hochgeladene Datei vom temporären Speicherort in den Serverbereich.

<?php
//第一步:明确服务器规定上传至服务器的文件类型。这里我们只允许上传以下类型的图片。
$allowedExts = array("gif", "jpeg", "jpg", "png");// 允许上传的图片后缀
//第二部:获取上传的文件名称,通过explorde()函数将其分割成字符串形式的数组。
$temp = explode(".", $_FILES["myfile"]["name"]);
echo $_FILES["myfilefile"]["size"];
$extension = end($temp);   // end函数用于获取数组中最后一个元素的值。
//第三步:列出上传文件需要满足的
if ((($_FILES["myfile"]["type"] == "image/gif")
|| ($_FILES["myfile"]["type"] == "image/jpeg")
|| ($_FILES["myfile"]["type"] == "image/jpg")
|| ($_FILES["myfile"]["type"] == "image/pjpeg")
|| ($_FILES["myfile"]["type"] == "image/x-png")
|| ($_FILES["myfile"]["type"] == "image/png"))
&& ($_FILES["myfile"]["size"] < 204800)  // 小于 200 kb
&& in_array($extension, $allowedExts))//in_array表示在$allowedExts数组中查找$extension这个字符串
{
  if ($_FILES["myfilefile"]["error"] > 0)
  {
    echo "错误:: " . $_FILES["myfile"]["error"] . "<br>";
  }
  else
  {
    echo "上传文件名: " . $_FILES["myfile"]["name"] . "<br>";
    echo "文件类型: " . $_FILES["myfile"]["type"] . "<br>";
    echo "文件大小: " . ($_FILES["myfile"]["size"] / 1024) . " kB<br>";
    echo "文件临时存储的位置: " . $_FILES["myfile"]["tmp_name"] . "<br>";

    // 判断当期目录(即www文件夹中)下的 upload 目录(自己创建,名字自取)是否存在该文件
    // 如果没有 upload 目录,你需要创建它,upload 目录权限为 777
    if (file_exists("upload/" . $_FILES["myfile"]["name"]))
    {
      echo $_FILES["myfile"]["name"] . " 文件已经存在。 ";
    }
    else
    {
      // 如果 upload 目录不存在该文件则将文件上传到 upload 目录下
      move_uploaded_file($_FILES["myfile"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);//
      echo "文件存储在: " . "upload/" . $_FILES["myfile"]["name"];
    }
  }
}
else
{
  echo "非法的文件格式";
}
?>
Nach dem Login kopieren

Das Obige ist die detaillierte Einführung zum Hochladen von PHP-Dateien. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

7 PHP-Funktionen, die ich leider vorher nicht kannte 7 PHP-Funktionen, die ich leider vorher nicht kannte Nov 13, 2024 am 09:42 AM

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge Feb 07, 2025 pm 12:12 PM

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Apr 03, 2025 am 12:03 AM

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.

See all articles