Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

PHP 5.4 & MySQL 5.6 Grundkurs

Datei-Upload per Formular

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Über Formulare können Sie auch Dateien auf einen Server hochladen. Das Formular selbst erstellen Sie dabei mit HTML. Mit PHP kümmern Sie sich darum, dass die Daten korrekt sind und gespeichert werden.

Transkript

Formulare können Sie auch benutzen, um Dateien hochzuladen. Das Formular erstellen Sie dabei per HTML und mit PHP kümmern Sie sich darum, dass die Daten korrekt sind und gespeichert werden. Sie sehen hier so ein Beispiel für ein Formularfeld, um Dateien hochzuladen. Sehen wir uns erstmal den HTML-Code an. Es ist hier ein form-Element. Wir haben, das ist jetzt wichtig, als method "post". Das heißt, wenn Sie ein Datei-Upload machen, können Sie nicht "get" verwenden. Außerdem müssen Sie für den Datei-Upload noch ergänzen, die Angabe enctype multipart/form-data. Dann brauchen Sie das eigentliche Feld, mit dem der Benutzer Dateien hochladen kann. Das ist vom type "file" und bekommt noch einen Namen. Außerdem gibt es hier einen "Hochladen" button. Den eigentlichen "Durchsuchen" button hier, den Sie da in der Browser-Ansicht sehen, den macht Ihnen der Broswer automatisch. Also, darum müssen Sie sich nicht kümmern. Mit diesem Feld hier, das ist ein verstecktes Feld, mit dem Namen MAX_FILE_SIZE können Sie eine maximal akzeptierte Dateigröße vorgeben. Der Wert hier für die Größe wird hier bei value angegeben, und zwar in byte. Dieses versteckte Feld muss vor dem Datei-Hochladen-Feld stehen, damit es auch von PHP berücksichtigt wird. Das ist natürlich recht praktisch. Andererseits können Sie sich nicht darauf verlassen, weil sich sowas natürlich auch beliebig manipulieren lässt. Soweit schön und gut. Jetzt haben wir das Formular erstellt, aber es würde noch nichts passieren. Damit dann PHP die Daten entgegen nehmen kann, müssen Sie bestimmte Informationen über die Datei erhalten. Und die schauen wir uns jetzt einmal an, wie Sie die auslesen können. Erst einmal kann ich mit PHP hier auf das Array FILES zugreifen, und als Schlüssel gebe ich hier den Namen an, den ich auch diesem Feld gegeben habe. Dieses Array FILES gibt mir nützliche Informationen über meine Datei die hochgeladen werden soll, und das lasse ich mir hier in diesem Beispiel einmal mit foreach ausgeben. Schauen wir uns das einmal an. Dafür müssen wir natürlich eine Datei hochladen. Ich habe jetzt hier auf den Durchsuchen button geklickt und wähle jetzt einmal hier ein Bild aus und gehe hier auf Öffnen und dann auf Hochladen. Und dann sehen Sie, jetzt bekomme ich Informationen zu diesem Bild angezeigt. Also den Namen der Datei, was für ein type es ist, einen temporären Namen, ob es Fehler gegeben hat und die Größe. Dieser temporäre Name hier ist ein Datei-Name, inklusive Pfad, der sagt, wo die hochgeladene Datei temporär gespeichert ist. Das brauche ich, denn von dort muss die Datei später abgeholt und in das gewünschte Verzeichnis kopiert werden. Um die Datei dann von dort zu kopieren und wirklich abzuspeichern, gibt es eine Funktion in P move_uploaded_file und die schauen wir uns jetzt einmal an, wie wir die benutzen können. Ich wechsle hier einmal in diese Skript. Das wieder am Anfang das Formular hat für den Datei-Upload. Und hier sehen Sie, dass dieses move_uploaded_file eingesetzt wird. Mit if hier an dieser Stelle wird überprüft, ob eine Datei hochgeladen wurde und kein Fehler auftrat. Wenn das so ist, dann wird versucht, diese Datei mit move_uploaded_file zu verschieben. Der Funktion move_uploaded_file übergeben Sie als ersten Parameter, das heißt hier an der Stelle, den Datei-Namen, den ursprünglichen, und dann das Ziel. Im Beispiel wird als Ziel das Verzeichnis upload angegeben, das könnte natürlich auch anders sein, das ist ein Name, den ich mir jetzt hier gerade ausgedacht habe. Und es wird als Datei-Name der ursprüngliche Datei-Name angegeben. Manche Browser geben bei ursprünglichen Datei-Namen zusätzlich den vollständigen Pfad an, deswegen verwende ich hier basename. Das enfernt die eventuell vorhandenen Pfad Angaben. Testen wir auch dieses Beispiel einmal aus. Ich nehme nochmal das Bild von eben. Eben habe ich mir hier ja nur Informationen drüber ausgeben lassen, da ist ja noch gar nichts passiert. Dann gehen wir hier auf Öffnen und gehe auf Hochladen. Und kriege die Meldung Dateiupload hat geklappt. Das sollten wir natürlich überprüfen. Das heißt, wir müssen in den Ordner Upload schauen, ob dort wirklich die Datei auch drinnen ist. Hier ist der Ordner upload und ich schaue jetzt mal, hier, mein Bild ist drinnen. Das hier hat geklappt. Das Beispiel hier hat Ihnen gezeigt, wie der grundlegende Datei-Upload klappt. Das heißt, Sie müssen zum einen das Formular entsprechend vorbereiten, mit dem richtigen input type, und zum anderen können Sie dann per PHP die Daten entgegennehmen. Um das zu machen, brauchen Sie grundlegende Informationen über die Datei, und diese können Sie auch mit PHP ermitteln. Aber im echten Einsatz sollten Sie zusätzlich noch bestimmte Sicherheitsvorkehrungen treffen, weil jeder Datei-Upload auch immer ein gewisses Risiko beinhaltet.

PHP 5.4 & MySQL 5.6 Grundkurs

Steigen Sie auch ohne Vorwissen in die Programmierung PHP- & MySQL-basierter Webseiten ein und lernen Sie die Sprachgrundlagen wie Bedingungen, Schleifen, Funktionen usw. kennen.

7 Std. 9 min (86 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!