Datei in PHP hochladen

Datei in PHP hochladen

Das Datei -Hochladen ist eine häufige Aufgabe für Webanwendungen. Für das Hochladen auf der Anwendung sind verschiedene Arten von Dateien erforderlich. Bilddateien, Textdateien, PDF -Dateien, XML -Dateien usw. kann mithilfe von PHP -Skript hochgeladen werden. Eine oder mehrere Dateien können von PHP hochgeladen werden. Es gibt einige PHP -Richtlinien in der Php.Ini Konfigurationsdatei- und PHP-integrierte Funktionen im Zusammenhang mit dem Datei-Upload, der in diesem Tutorial erläutert wird. HTML hat ein bestimmtes Attribut im Formular -Tag für Datei -Hochladen auf Aufgaben Enctype.

PHP -Anweisungen für das Datei -Upload

PHP -Richtlinie Zweck
Datei_Uploads Der Wert dieser Richtlinie muss sein An So laden Sie die Datei mithilfe des PHP -Skripts hoch. Der Standardwert dieser Richtlinie ist An.
upload_tmp_dir Es wird verwendet, um das temporäre Verzeichnis festzulegen, in dem die Datei hochgeladen wird.
Upload_MAX_FILESIZE Es wird verwendet, um die maximale Größe der Datei einzustellen, die hochgeladen werden kann.
max_file_uploads Es wird verwendet, um die Anzahl der Dateien festzulegen, die hochgeladen werden können.
post_max_size Es wird verwendet, um die maximale Größe der Postdaten festzulegen, und der Wert dieser Anweisung muss mehr als der Wert der Anweisung upload_max_filesize sein, da die Datei von der Postanforderung hochgeladen wird.
max_input_time Es wird verwendet, um die maximale Zeit für das Lesen der Daten der Upload -Datei festzulegen.
max_execution_time Es wird verwendet, um die maximale Zeit in Sekunden Zeit einzustellen, um das Skript zum Hochladen der Datei auszuführen.
memory_limit Es wird verwendet, um die maximale Speichergröße festzulegen, die für die Ausführung eines PHP -Skripts zum Hochladen der Datei erforderlich ist.

PHP -Funktionen für das Datei -Upload

Zwei integrierte Funktionen werden hauptsächlich in PHP zum Hochladen der unten genannten Datei verwendet.

A. is_Uploaded_file ()
Es wird verwendet, um zu überprüfen.

B. MOVE_UPADEDED_FILE ()
Es wird verwendet, um die hochgeladene Datei in den Standort des Webservers zu verschieben. Diese Funktion wird true zurückgegeben, wenn die Datei hochgeladen und erfolgreich verschoben wird.

PHP -Datei -Hochladenvariable

Die $ _files -Array -Variable speichert alle Informationen zum Hochladen einer Datei auf den Server. Es ist eine superglobale Variable des PHP, auf die überall vom Skript zugegriffen werden kann. Es enthält fünf Arten von Informationen: Dateiname, Typ, Größe, temporärer Dateiname und Fehler im Zusammenhang mit dem Hochladen der Datei. Der Zweck jedes Wertes des $ _file -Arrays wurde unten erwähnt. Angenommen, der Name des Feldnamens Upload ist 'hochladen' Hier.

A. $ _Files ['Upload'] ['Name']
Es wird verwendet, um den ursprünglichen Dateinamen zu erhalten, der vom Computer des Kunden hochgeladen wurde.

B. $ _Files ['Upload'] ['tmp_name']
Es wird verwendet, um den temporären Dateinamen zu erhalten, der vorübergehend auf dem Server gespeichert wurde.

C. $ _Files ['Upload'] ['Typ']
Es wird verwendet, um den MIME -Typ der hochgeladenen Datei zu erhalten.

D. $ _Files ['Upload'] ['Größe']
Es wird verwendet, um die Größe der hochgeladenen Datei in Bytes zu erhalten.

E. $ _Files ['Upload'] ['Fehler']
Es wird verwendet, um den Fehlercode zu erhalten, der mit der Hochladenaufgabe zusammenhängt. Die Variable kann eine der 7 Arten von Werten enthalten, die unten erwähnt werden.

Fehlercode Beschreibung
1- Upload_err_ok Es generiert, wenn die Datei erfolgreich hochgeladen wird.
2- Upload_err_ini_size Es generiert, wenn die Dateigröße den Wert der überschreitet Upload_MAX_FILESIZE Richtlinie, die im PHP definiert ist.INI -Datei.
3- Upload_err_Partial Es generiert, wenn die Dateigröße den Wert der Richtlinie max_file_size überschreitet, die in der HTML -Form definiert ist.
4- Upload_err_no_file Es generiert, wenn keine Datei hochgeladen wird.
5- Upload_err_no_tmp_dir Es generiert, wenn kein vorübergehendes Verzeichnis fehlt.
6- Upload_err_cant_write Es generiert, wenn im Serverort keine Schreibberechtigung vorhanden ist.
7- Upload_err_extension Es generiert, wenn die PHP -Erweiterung die Hochladenaufgabe stoppt.

Datei mit PHP hochladen

In diesem Teil des Tutorials wurden verschiedene Beispiele für das Hochladen der Datei mithilfe des PHP -Skripts gezeigt.

Beispiel 1: Laden Sie jede Art von Datei hoch hoch

Sie können die Datei in den aktuellen Speicherort hochladen, von dem das PHP -Skript ausführt, oder in einem bestimmten Ordner. Sie müssen den Ordner im Serverspeicherort erstellen, um eine Datei in einen bestimmten Ordner hochzuladen, bevor Sie das PHP -Skript ausführen. Ich habe einen Ordner namens 'erstellt'hochladen ' Innerhalb des Arbeitsordners. Erstellen Sie eine PHP -Datei mit dem folgenden Skript, in dem eine Datei von beliebigen Typen in die 'hochgeladen wirdhochladen ' Ordner. Im Skript wurde ein HTML -Formular mit einem Dateitypfeld und einer Sendungsschaltfläche verwendet, um die Datei vom Client -Computer zum Hochladen auszuwählen. Wenn 1 nach dem Hochladen der Datei als Fehlercode generiert wird, wird die Datei erfolgreich hochgeladen. Als nächstes die MOVE_UPOAD_FILE () Die Funktion wurde verwendet, um die hochgeladene Datei in den Serverort zu verschieben. Die Erfolgsnachricht wird gedruckt, wenn die Datei erfolgreich in den Serverort hochgeladen wird. Andernfalls wird eine Fehlermeldung angezeigt.

// Überprüfen Sie, ob eine Datei ausgewählt ist oder nicht
if (isset ($ _ Dateien ['UploadFile'])))

// Überprüfen Sie, ob ein Upload -Fehler vorliegt oder nicht
if ($ _files ['UploadFile'] ['Fehler'] === Upload_err_ok)

// Lesen Sie den ursprünglichen Dateinamen
$ Dateiname = $ _files ['UploadFile'] ['Name'];
// Temporärer Dateiname lesen
$ fileTemppath = $ _files ['UploadFile'] ['tmp_name'];
// Setzen Sie den Dateipfad hochladen
$ filepath = DirName (__ Datei__).'/Uploads/'.$ Dateiname;
// Die Datei mit der Funktion move_upload_file () hochladen
if (move_Uploaded_file ($ fileTemppath, $ filepath))

// Die Erfolgsnachricht ausdrucken
echo '

Die Datei wird erfolgreich hochgeladen.

';

anders

// Die Fehlermeldung drucken
echo '

Fehler beim Hochladen der Datei.
''. $ _Files ['UploadFile'] ['Fehler']. ''

';


anders

// Die Fehlermeldung drucken
echo '

Fehler beim Hochladen der Datei.
''. $ _Files ['UploadFile'] ['Fehler']. ''

';


anders

?>




Datei mit PHP hochladen



Datei aussuchen:





?>

Ausgang
Die folgende Ausgabe wird angezeigt, wenn das Skript vom Webserver ausgeführt wird.

Klick auf das Durchsuche Schaltfläche So wählen Sie die Datei zum Hochladen aus und drücken Sie die Schaltfläche Upload, um die Datei auf den Server hochzuladen.

Die folgende Nachricht wird angezeigt, wenn die Datei erfolgreich hochgeladen wird.

Beispiel 2: Laden Sie eine Datei des spezifischen Typs und der spezifischen Größe hoch

Die Art und Weise, wie die Datei mithilfe einer separaten HTML -Datei und der PHP. Erstellen Sie eine HTML -Datei mit dem folgenden Skript, um das Formular zum Hochladen der Datei anzuzeigen.

Uploadform.html





Hochladen der JPEG -Datei mit PHP



Datei aussuchen:



Erstellen Sie ein PHP -Skript mit dem folgenden Skript, mit dem die JPEG -Datei nur hochgeladen wird. Die Größe beträgt weniger als 300000 Bytes. Der Dateityp und die Dateityp und die Größe wurden unter Verwendung $ _files ['UploadFile'] ['Typ'] und $ _files ['UploadFile'] ['Größe'] gelesen. Die Erfolgsnachricht wird angezeigt, wenn der hochgeladene Dateityp und die Größe mit den in der Bedingung 'if' definierten Kriterien übereinstimmen. Andernfalls wird eine Fehlermeldung angezeigt.

Upload2.Php

// Überprüfen Sie, ob eine Datei ausgewählt ist oder nicht
if (isset ($ _ Dateien ['UploadFile'])))

// Überprüfen Sie, ob ein Upload -Fehler vorliegt oder nicht
if ($ _files ['UploadFile'] ['Fehler'] === Upload_err_ok)

// Lesen Sie den ursprünglichen Dateinamen
$ Dateiname = $ _files ['UploadFile'] ['Name'];
// Temporärer Dateiname lesen
$ fileTemppath = $ _files ['UploadFile'] ['tmp_name'];
// Lesen Sie die Dateigröße
$ filesize = $ _files ['UploadFile'] ['Größe'];
// Lesen Sie den Dateityp
$ fileType = $ _files ['UploadFile'] ['Typ'];
// Überprüfen Sie den Dateityp und die Dateigröße
if ($ fileType == 'Image/jpeg' && $ filesize < 300000)

// Setzen Sie den Dateipfad hochladen
$ filepath = DirName (__ Datei__).'/Uploads/'.$ Dateiname;
// Die Datei mit der Funktion move_upload_file () hochladen
if (move_Uploaded_file ($ fileTemppath, $ filepath))

// Die Erfolgsnachricht ausdrucken
echo '

Die Datei wird erfolgreich hochgeladen.

';

anders

// Die Fehlermeldung drucken
echo '

Fehler beim Hochladen der Datei.
''. $ _Files ['UploadFile'] ['Fehler']. ''

';


anders
// Die Fehlermeldung drucken
echo '

Dateityp oder Größe wird nicht unterstützt.

';

anders

// Die Fehlermeldung drucken
echo '

Fehler beim Hochladen der Datei.
''. $ _Files ['UploadFile'] ['Fehler']. ''

';

integrieren ('Uploadform.html ');

anders
integrieren ('Uploadform.html ');
?>

Ausgang
In der folgenden Ausgabe die Blume.png Die Datei wurde ausgewählt, die keine JPEG -Datei ist:

Die folgende Ausgabe erscheint nach dem Drücken der Hochladen Taste:

Hier die Blume1.JPEG -Datei wurde ausgewählt, eine JPEG -Datei.

Nun wird die folgende Ausgabe nach dem Drücken der folgenden Ausgabe angezeigt Hochladen Taste:

Beispiel 3: Überprüfen Sie die Datei vor dem Hochladen

Erstellen Sie eine PHP -Datei mit dem folgenden Skript, das verwendet wird die is_Uploaded_file () Funktion zum Überprüfen, ob die Datei über den HTTP -Post hochgeladen wird, bevor die Datei auf den Server verschiebt wird. Das Skript lädt die Textdatei nur hoch und druckt den Inhalt der Textdatei, nachdem die Datei erfolgreich hochgeladen wurde.

// Überprüfen Sie, ob eine Datei ausgewählt ist oder nicht
if (isset ($ _ Dateien ['UploadFile'])))

// Lesen Sie den ursprünglichen Dateinamen
$ Dateiname = $ _files ['UploadFile'] ['Name'];
// Temporärer Dateiname lesen
$ fileTemppath = $ _files ['UploadFile'] ['tmp_name'];
// Lesen Sie den Dateityp
$ fileType = $ _files ['UploadFile'] ['Typ'];
// Setzen Sie den Dateipfad hochladen
$ filepath = DirName (__ Datei__).'/Uploads/'.$ Dateiname;
// Überprüfen Sie den Dateityp
if ($ fileType == 'text/plain')

// Überprüfen Sie, ob ein Upload -Fehler vorliegt oder nicht
if ($ _files ['UploadFile'] ['Fehler'] === Upload_err_ok)

if (is_Uploaded_file ($ fileTemppath))
// Die Datei mit der Funktion move_upload_file () hochladen
if (move_Uploaded_file ($ fileTemppath, $ filepath))

// Die Erfolgsnachricht ausdrucken
Echo $ Dateiname ."wird erfolgreich hochgeladen.
";
Echo "den Inhalt der Datei:
";
ReadFile ($ filepath);

anders

Echo 'Fehler beim Hochladen der Datei.
''. $ _Files ['UploadFile'] ['Fehler'];


anders
Die Echo -Datei wird nicht hochgeladen.";



anders
Die Echo -Datei ist keine Textdatei.";

anders

?>




Datei mit PHP hochladen



Datei aussuchen:




Ausgang
In der folgenden Ausgabe wurde eine Textdatei zum Hochladen ausgewählt:

Der Inhalt der Datei wurde in der Ausgabe nach erfolgreichem Hochladen der Datei angezeigt.

Abschluss

Die Aufgabe zum Hochladen der Datei ist eine häufigste Anforderung für eine Webanwendung. Die Verwendungen der Datei-Hochladen von Variablen und die integrierten Funktionen von PHP wurden in diesem Tutorial unter Verwendung mehrerer Beispiele für Datei-Hochladen angezeigt. Wenn Sie möchten, können Sie mehr als eine Datei gleichzeitig hochladen, indem Sie das PHP -Skript verwenden, das in diesem Tutorial behandelt wird. Sie können auch einen Ordner hochladen, der mehrere Dateien über das PHP -Skript enthält.