Detaillierte Erkl?rung des Datei-Uploads in PHP
May 30, 2018 am 11:29 AMBeherrschen Sie die Technologie zum Hochladen von PHP-Dateien wirklich? Dieser Artikel hat relevante Informationen zum Hochladen von PHP-Dateien für alle zusammengestellt. Interessierte Freunde k?nnen darauf verweisen. Zun?chst m?chte ich feststellen, dass dieses Kapitel viel Inhalt hat und relativ schwierig ist . Man muss 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 beharrlich h?her klettern, um schlie?lich den Gipfel zu erreichen.Bitte beachten Sie die beiden oben genannten Ratschl?ge sorgf?ltig
Editor: sublime text3 (welcher Editor Sie verwenden, h?ngt von Ihren Vorlieben ab)
Server-Build: Verwenden Sie phpstudy2014, um den Server zu erstellen. Die Serverdatei 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 die PHP l?dt die Datei hoch. Speichern Sie die Datei auf dem Server.
Bitte sehen Sie sich meinen HTML-Code an
enctype
In der Syntax des Form-Elements 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 jegliche Steuerelemente oder Formatierungszeichen.
Erg?nzung (sehen Sie sich einfach um): Das enctype-Attribut von ORM ist die Codierungsmethode. Es gibt zwei h?ufig verwendete: application/x-www-form-urlencoded und multipart/form-data. Der Standardwert ist 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 jedem Teil Inhaltsdisposition (Formulardaten oder Datei), Inhaltstyp (Standard ist Text/Plain), Name (Steuerelementname) und andere Informationen hinzu und fügt Trennzeichen hinzu (Grenze).
Ein bisschen schwer zu verstehen.
Beim Hochladen von Dateien müssen die Daten bestimmte Transformationen durchlaufen, bevor sie auf den Server hochgeladen werden k?nnen. Der Unterschied zwischen application/x-www-form-urlencoded und multipart/form-data ist die Konvertierungskodierungsmethode.
Der Effekt nach dem Hochladen der Datei ist wie folgt:
Jede hochgeladene Datei hat ein Name, 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"]=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-Limit 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. 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. Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird. Verwandte Empfehlungen: PHP-Zusammenfassung des Objektwissens
Machen Sie sich zun?chst mit der Verwendung mehrerer Funktionen vertraut:
explode()Die Funktion wird zum Teilen von Zeichenfolgen verwendet. Zum Beispiel: explosion(".","aaa.HTML") Teilen Sie dies an der Punktposition. Die Zeichenfolge wird in zwei Zeichenfolgen unterteilt, ?aaa“ und ?HTML“, und diese beiden Zeichenfolgen werden der Reihe nach im selben Array gespeichert.
end()Den Wert des letzten Elements im Array abrufen.
in_array()Suchen Sie ein Element im Array, um zu sehen, ob es existiert. Es gibt true zurück, wenn es existiert, und false, wenn es nicht existiert. <?php
//第一步:明確服務(wù)器規(guī)定上傳至服務(wù)器的文件類型。這里我們只允許上傳以下類型的圖片。
$allowedExts = array("gif", "jpeg", "jpg", "png");// 允許上傳的圖片后綴
//第二部:獲取上傳的文件名稱,通過explorde()函數(shù)將其分割成字符串形式的數(shù)組。
$temp = explode(".", $_FILES["myfile"]["name"]);
echo $_FILES["file"]["size"];
$extension = end($temp); // end函數(shù)用于獲取數(shù)組中最后一個(gè)元素的值。
//第三步:列出上傳文件需要滿足的條件
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數(shù)組中查找$extension這個(gè)字符串
{
if ($_FILES["myfile"]["error"] > 0)
{
echo "錯(cuò)誤:: " . $_FILES["myfile"]["error"] . "<br>";
//舉個(gè)例子服務(wù)器空間不足,文件只能上傳部分就會(huì)出現(xiàn)錯(cuò)誤。
}
else
{
echo "上傳文件名: " . $_FILES["myfile"]["name"] . "<br>";
echo "文件類型: " . $_FILES["myfile"]["type"] . "<br>";
echo "文件大小: " . ($_FILES["myfile"]["size"] / 1024) . " kB<br>";
echo "文件臨時(shí)存儲(chǔ)的位置: " . $_FILES["myfile"]["tmp_name"] . "<br>";
}
}
else
{
echo "非法的文件格式";
}
?>
. 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
//第一步:明確服務(wù)器規(guī)定上傳至服務(wù)器的文件類型。這里我們只允許上傳以下類型的圖片。
$allowedExts = array("gif", "jpeg", "jpg", "png");// 允許上傳的圖片后綴
//第二部:獲取上傳的文件名稱,通過explorde()函數(shù)將其分割成字符串形式的數(shù)組。
$temp = explode(".", $_FILES["myfile"]["name"]);
echo $_FILES["myfilefile"]["size"];
$extension = end($temp); // end函數(shù)用于獲取數(shù)組中最后一個(gè)元素的值。
//第三步:列出上傳文件需要滿足的
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數(shù)組中查找$extension這個(gè)字符串
{
if ($_FILES["myfilefile"]["error"] > 0)
{
echo "錯(cuò)誤:: " . $_FILES["myfile"]["error"] . "<br>";
}
else
{
echo "上傳文件名: " . $_FILES["myfile"]["name"] . "<br>";
echo "文件類型: " . $_FILES["myfile"]["type"] . "<br>";
echo "文件大小: " . ($_FILES["myfile"]["size"] / 1024) . " kB<br>";
echo "文件臨時(shí)存儲(chǔ)的位置: " . $_FILES["myfile"]["tmp_name"] . "<br>";
// 判斷當(dāng)期目錄(即www文件夾中)下的 upload 目錄(自己創(chuàng)建,名字自?。┦欠翊嬖谠撐募?
// 如果沒有 upload 目錄,你需要?jiǎng)?chuàng)建它,upload 目錄權(quán)限為 777
if (file_exists("upload/" . $_FILES["myfile"]["name"]))
{
echo $_FILES["myfile"]["name"] . " 文件已經(jīng)存在。 ";
}
else
{
// 如果 upload 目錄不存在該文件則將文件上傳到 upload 目錄下
move_uploaded_file($_FILES["myfile"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);//
echo "文件存儲(chǔ)在: " . "upload/" . $_FILES["myfile"]["name"];
}
}
}
else
{
echo "非法的文件格式";
}
?>
Das obige ist der detaillierte Inhalt vonDetaillierte Erkl?rung des Datei-Uploads in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Benutzerspracheingabe wird erfasst und über die Mediarecorder-API des Front-End-JavaScript an das PHP-Backend gesendet. 2. PHP speichert das Audio als tempor?re Datei und ruft STTAPI (z. B. Google oder Baidu Voiceerkennung) auf, um sie in Text umzuwandeln. 3. PHP sendet den Text an einen KI -Dienst (wie OpenAigpt), um intelligente Antwort zu erhalten. 4. PHP ruft dann TTSAPI (wie Baidu oder Google Voice -Synthese) auf, um die Antwort in eine Sprachdatei umzuwandeln. 5. PHP streams die Sprachdatei zurück zum Spielen, um die Interaktion abzuschlie?en. Der gesamte Prozess wird von PHP dominiert, um eine nahtlose Verbindung zwischen allen Links zu gew?hrleisten.

Die Kernmethode zum Aufbau sozialer Freigabefunktionen in PHP besteht darin, dynamisch Freigabelinks zu generieren, die den Anforderungen jeder Plattform entsprechen. 1. Erhalten Sie zuerst die aktuelle Seite oder die angegebenen URL- und Artikelinformationen. 2. Verwenden Sie Urlencode, um die Parameter zu codieren. 3.. Splei? und generieren Teilenverbindungen gem?? den Protokollen jeder Plattform; 4. Zeigen Sie Links im vorderen Ende an, damit Benutzer klicken und freigeben k?nnen. 5. generieren Sie Dynamik OG -Tags auf der Seite, um die Anzeige der Freigabe inhaltlich zu optimieren. 6. Achten Sie darauf, dass Sie den Benutzereingaben entkommen, um XSS -Angriffe zu verhindern. Diese Methode erfordert keine komplexe Authentifizierung, weist nur geringe Wartungskosten auf und eignet sich für die meisten Anforderungen an den Inhaltsaustausch.

Um die Textfehlerkorrektur und die Syntaxoptimierung mit AI zu realisieren, müssen Sie die folgenden Schritte ausführen: 1. W?hlen Sie ein geeignetes AI -Modell oder ein geeignetes AI -Modell oder ein geeignetes AI -Modell wie Baidu, Tencent API oder Open Source NLP -Bibliothek aus; 2. Rufen Sie die API über die Curl oder das Guzzle von PHP auf und verarbeiten Sie die Rückgabeergebnisse. 3.. Informationen zur Fehlerkorrektur in der Anwendung anzeigen und erm?glichen den Benutzern, zu w?hlen, ob sie angenommen werden sollen. 4. Verwenden Sie PHP-L und PHP_CODESNIFFER für die Syntaxerkennung und -codeoptimierung. 5. sammeln Sie kontinuierlich Feedback und aktualisieren Sie das Modell oder die Regeln, um den Effekt zu verbessern. Konzentrieren Sie sich bei der Auswahl von AIAPI auf die Bewertung von Genauigkeit, Reaktionsgeschwindigkeit, Preis und Unterstützung für PHP. Die Codeoptimierung sollte den PSR -Spezifikationen folgen, Cache vernünftigerweise verwenden, zirkul?re Abfragen vermeiden, den Code regelm??ig überprüfen und x verwenden

1. Maximierung des kommerziellen Wertes des Kommentarsystems erfordert die Kombination der pr?zisen Lieferung native Werbung, benutzerbezahlte Wertsch?pfungsdienste (z. B. Bilder hochladen, Aufladungskommentare), den Incentive-Mechanismus basierend auf der Qualit?t der Kommentare und der Anonymen Daten Insight-Monetarisierung von Compliance; 2. Die Prüfungsstrategie sollte eine Kombination aus dynamischer Keyword-Filterung und Benutzerkennungsmechanismen vorab der Auditing einsetzen, die durch die Qualit?t der Kommentarqualit?t erg?nzt werden, um die hierarchische Inhaltsbelastung zu erreichen. 3. Die Anti-Pushing erfordert die Konstruktion einer mehrschichtigen Verteidigung: Recaptchav3 sensorlose überprüfung, Honeypot-Honeypot-Feldkennungroboter, IP und Zeitstempelfrequenzgrenze verhindert die Bew?sserung, und die Erkennung von Inhalten markiert verd?chtige Kommentare und st?ndig mit Angriffen.

PHP führt nicht direkt die KI-Image-Verarbeitung durch, sondern integriert sich über APIs, da es in der Webentwicklung und nicht in Bezug auf Computerintensive Aufgaben gut ist. Die API -Integration kann die professionelle Arbeitsteilung erreichen, die Kosten senken und die Effizienz verbessern. 2. Integration von Schlüsseltechnologien umfasst die Verwendung von Guzzle oder Curl zum Senden von HTTP-Anforderungen, JSON-Datencodierung und -decodierung, API-Schlüsselsicherheitsauthentifizierung, asynchroner Warteschlangenverarbeitungsaufgaben, robuster Fehlerbehebung und Wiederholungsmechanismus, Bildspeicherung und Anzeige. 3. Die gemeinsamen Herausforderungen sind API -Kosten au?er Kontrolle, unkontrollierbare Erzeugungsergebnisse, schlechte Benutzererfahrung, Sicherheitsrisiken und schwieriges Datenmanagement. In den Antwortstrategien werden Benutzerquoten und -darstellungen festgelegt, die Auswahl von ProPT-Anleitungen und mehrfizierende Auswahl, asynchrone Benachrichtigungen und Fortschrittsaufforderungen, wichtige Speicher- und Inhaltsprüfungen sowie Cloud-Speicher vorhanden.

PHP sorgt für die Inventarabzugsatomizit?t durch Datenbanktransaktionen und Forupdate -Reihenschl?sser, um eine hohe gleichzeitige überverl?ssigkeit zu verhindern. 2. Multi-Plattform-Inventarkonsistenz h?ngt von zentraler Verwaltung und ereignisgesteuerter Synchronisation ab, die API/Webhook-Benachrichtigungen und Nachrichtenwarteschlangen kombiniert, um eine zuverl?ssige Datenübertragung sicherzustellen. 3. Der Alarmmechanismus sollte in verschiedenen Szenarien niedrige Lagerbest?nde, Null/Negativ -Inventar, unerwünschte Verkaufszyklen, Nachschubzyklen und abnormale Schwankungsstrategien festlegen und die Auswahl von Dingtalk, SMS oder E -Mail -Verantwortlichen gem?? der Dringlichkeit ausw?hlen, und die Alarminformationen müssen vollst?ndig und frei sein, um die Anpassung und die Vergewaltigungsreaktion zu erreichen.

PhpisstillrelevantinMoDernEnterpriseEnvironments.1.ModerPhp (7.xand8.x) Angebote, strenge, jitkompilation und moderne Syntax, machte ma?geschneiderte Foreiglableforlarge-ScaleApplikationen

Die Kernrolle von Homebrew bei der Konstruktion der Mac -Umgebung besteht darin, die Installation und Verwaltung der Software zu vereinfachen. 1. Homebrew verarbeitet automatisch Abh?ngigkeiten und verkapselt komplexe Kompilierungs- und Installationsprozesse in einfache Befehle. 2. Bietet ein einheitliches Softwarepaket -?kosystem, um die Standardisierung des Software -Installationsorts und der Konfiguration zu gew?hrleisten. 3. Integriert Service -Management -Funktionen und kann Dienste leicht über Brewservices starten und stoppen. 4. Bequemes Software -Upgrade und -wartung und verbessert die Sicherheit und Funktionalit?t der Systeme.
