Heim  >  Artikel  >  Backend-Entwicklung  >  Analyse von Formular-Upload-Beispielen in PHP

Analyse von Formular-Upload-Beispielen in PHP

小云云
小云云Original
2018-03-31 09:29:341883Durchsuche


Dieser Artikel teilt Ihnen hauptsächlich die Analyse von Formular-Upload-Beispielen in PHP, hauptsächlich in Form von Text und Code. Ich hoffe, dass er allen helfen kann.
Formular-Upload: Daten vom Browser zum Server. (Wird übertragen, wenn der Browser eine Anfrage an den Server sendet.)

Die Daten im Formular sind in zwei Typen unterteilt: 1. Zeichenfolgentyp (Byte-Stream-Codierung, dh es gibt bestimmte Codierungsregeln)

                                                 2. Dateityp (binäre Kodierung, d. h. nur binäre Übertragung, es werden keine Kodierungsregeln befolgt) 🎜> Das Attribut action definiert die Übermittlung. Die Aktion des Formulars, d. h. die Tabelle gibt den Server an Skript zur Verarbeitung des hochgeladenen Formulars. Wenn das Aktionsattribut weggelassen wird, gibt es die aktuelle Skriptverarbeitung an.

Das Methodenattribut gibt die beim Senden des Formulars verwendete HTTP-Methode an. Der Standardwert ist GET, und POST und GET sind optional. (Die Formulardaten sind in der Adressleiste sichtbar, wenn Sie GET verwenden, aber nicht sichtbar in POST); (Dies ist die Standardoption, was bedeutet, dass alle Zeichenfolgen codiert sind), multipart/form-data (codiert sie nicht, dieser Wert muss beim Hochladen von Dateien verwendet werden), Text/Plain (Leerzeichen werden in + umgewandelt, aber Sonderzeichen werden nicht kodiert) Kodierung)
<form action=&#39;&#39; method=&#39;&#39; enctype=&#39;&#39;>
        <input type=&#39;&#39; name=&#39;&#39; value=&#39;&#39;>
</form>

Im Eingabe-Tag:

Das Typattribut kann Text enthalten ( Texteingabe), Radio (Radio-Button), Checkbox (Mehrfachauswahl), Submit (Formularübermittlung), Passwort (Passwort: Verschlüsseltes Formular verwenden), Datei (Datei-Upload).

Das Namensattribut ist erforderlich. Nach dem Absenden des Formulars wird der Wert jedes Steuerelements im Array $_GET oder $_POST gespeichert und der Name wird als Array-Index des entsprechenden Werts verwendet.

Das Wertattribut stellt den Wert des Leerzeichens dar. Wenn eine externe Eingabe vorliegt, wird der Wert der externen Eingabe gespeichert, was einem Standardwert entspricht. Dieses Attribut ist nicht erforderlich.


Datenempfang

Nach dem Empfang der Daten vom Browser verwendet der Server je nach Datentyp unterschiedliche Verarbeitungsmethoden:

1. Zeichenfolge Typdaten werden in den Variablen $_GET/$_POST gespeichert.

2. Dateidaten werden in einem temporären Verzeichnis gespeichert (in einem Skriptzyklus gespeichert und nach Ablauf automatisch gelöscht)



Das Passwort wird hier nicht angezeigt, da es sich um ein type='password'-Attribut handelt.

Nachdem der Upload erfolgreich war, erhält var_dump($_POST) unter dem im Serverhintergrund angegebenen Skript die folgenden Ergebnisse:
<!DOCTYPE HTML>
<html>
	<head>
		<meta http-equiv=&#39;Content-Type&#39; content="text/html;charset=utf8"/>
	</head>
	<body>
		<form action=&#39;test.php&#39; method=&#39;POST&#39; enctype=&#39;multipart/form-data&#39;>
			用户名:<input type=&#39;text&#39; name=&#39;username&#39; ></br>
			密码:<input type=&#39;password&#39; name=&#39;password&#39;></br>
			文件上传:<input type=&#39;file&#39; name=&#39;filename&#39;></br>
			上传:<input type=&#39;submit&#39; name=&#39;submit&#39; value=&#39;submit&#39;>
		</form>
	</body>
</html>


Nur ​​die Die ausgefüllte Zeichenfolge befindet sich in den Ergebnistypdaten und der Indexwert ist der Formularname, aber die Dateidaten sind nicht vorhanden (sie werden in der temporären Dateitemperatur des Systems gespeichert und ihre Existenzzeit entspricht dem Skriptzyklus).

In php.ini können Sie das temporäre Verzeichnis für hochgeladene Dateien konfigurieren (standardmäßig geschlossen), wenn es nicht manuell geändert wird Serversystem verwendet wird.

Datenverarbeitung

speichert hauptsächlich hochgeladene Dateien (temporäre Dateien werden nach Ende des Skripts automatisch gelöscht).

Funktion verwenden: move_uploaded_file (temporäre Speicheradresse, Zieladresse);

Die Informationen der hochgeladenen Datei werden im Array $_FILES gespeichert.

                                                                                                              

Der Name im zweidimensionalen Array stellt den ursprünglichen Dateinamen dar, Typ stellt den Dateityp dar (nicht das Suffix), tmp_name stellt die temporäre Speicheradresse dar, Fehler gibt an, ob ein Fehler vorliegt, und der Fehlertyp sowie die Größe stellen dar die Größe der hochgeladenen Datei.

Funktion: strrchr (Zeichenfolge, Zeichen); Ermitteln Sie die Position des letzten Vorkommens eines Zeichens und geben Sie dieses Zeichen und alle nachfolgenden Zeichen aus.

strchr(string, Character); Ermittelt die Position, an der das Zeichen zum ersten Mal erscheint. . . . . . . . . . . . . . .

Pathinfo (Variable); Rufen Sie die Adresse, den Typ und den Namen der Variablen ab. . .

          uniqID(); benennen Sie die hochgeladene Datei (um Duplikate zu vermeiden). uniqID („li_“) bedeutet das Hinzufügen des Präfixes li_ vor einer generierten Zeichenfolge.

Verwandte Empfehlungen:

So verarbeiten Sie Formular-Upload-Dateien in PHP

Das obige ist der detaillierte Inhalt vonAnalyse von Formular-Upload-Beispielen in PHP. 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