HopelessFrag Geschrieben 27. April 2006 Geschrieben 27. April 2006 Hallo zusammen! Wie kann man mit PHP Bilder auf einen Webserver hochladen und den Pfad des Bildes dann in einer MySQL Tabelle speichern? Ich weiß das man dafür irgendeinen bestimmten MIME-Typ im Formular dafür angeben muss, und wie ich den Pfad in der Tabelle speicher weiß ich auch. Aber das dazwischen fehlt mir Wäre nett wenn ihr mir weiterhelfen könntet. Danke!! Zitieren
Sigi Geschrieben 27. April 2006 Geschrieben 27. April 2006 Im PHP-Manual ist dazu eine Erklärung und ein Beispielscript was das ganze recht schön zeigt. Das PHP-Manual findest du auf php.net Zitieren
HopelessFrag Geschrieben 27. April 2006 Autor Geschrieben 27. April 2006 wo ich das php-manual finde weiß ich, aber nich wo ich die erklärung finden kann...Habe ja keinen Ansatz, und weiß auch nich wie das funktionieren soll Zitieren
Schiller256 Geschrieben 27. April 2006 Geschrieben 27. April 2006 Eine kurze Suche bei Google nach php und upload hat diese Seite[1] als ersten Treffer angezeigt. Da steht das wichtigste drin. Mit move_uploaded_file() kannst du die Datei in das Zielverzeichnis verschieben. Wenn du das Bild dann noch weiter bearbeiten willst oder schauen ob es überhaupt ein Image ist was der User da hochgeladen hat kannst du dir mal das $_FILES Array anschauen und dann die Bildbearbeitungsfunktionen damit du dir sicher sein kannst das es sich wirklich um ein Bild handelt. [1] http://www.php-faq.de/q/q-formular-upload-php4.html Zitieren
Sigi Geschrieben 27. April 2006 Geschrieben 27. April 2006 wo ich das php-manual finde weiß ich, aber nich wo ich die erklärung finden kann...Habe ja keinen Ansatz, und weiß auch nich wie das funktionieren soll Das Manual *und jetzt halt dich fest* hat ne Suchfunktion und als Stichworte wäre ja ein Upload ein guter Anfang ;-) Ach btw: Der Link von Schiller ist genau das was ich meinte. Frisch ausm PHP-Manual =) Zitieren
McMaiers Geschrieben 27. April 2006 Geschrieben 27. April 2006 Hier ein Anwendungsbsp. <form method="POST" action="upload.php?action=upload" enctype="multipart/form-data"> <input type=file name=file size=30> <input type="submit" type="submit" value="hochladen"> </form> <?php if($_GET['action'] == "upload"){ move_uploaded_file($HTTP_POST_FILES['file']['tmp_name'], "ORDNERNAME/$file_name")or die("Die Datei konnte nicht auf den Server kopiert werden."); echo "<h3><b>Datei Hochgeladen!</b></h3> Datei Name : $file_name<br> Datei Größe: $file_size Byte<br> Datei Art : $file_type"; } ?> cu mcmaiers Zitieren
oneside Geschrieben 27. April 2006 Geschrieben 27. April 2006 Hab mir das auch mal gerade angesehen und in der Beschreibung folgendes gelesen: $_FILES['probe']['tmp_name'] Diese Variable enthält den Namen der Datei in einem temporären Verzeichnis auf dem Server. Sie kann von dort mit einem move_uploaded_file() -Aufruf abgeholt werden. Das ist auch notwendig, da die Originaldatei am Ende des Scriptes automatisch gelöscht wird. Wenn die Datei automatisch gelöscht wird, wofür wird das denn dann bitte gemacht? Dann war doch der ganze Upload für die Füße :confused: Man will die Datei doch gerade auf dem Server haben wenn man einen Upload macht... Kann mich mal einer aufklären? Zitieren
Sigi Geschrieben 27. April 2006 Geschrieben 27. April 2006 Am Scriptende NACHDEM du die Datei verschoben hast :> Zitieren
etreu Geschrieben 27. April 2006 Geschrieben 27. April 2006 Die Datei die hochgeladen wird, wird auf dem Server in einem temporären Verzeichnis gespeichert. Willst du die Datei dauerhaft speichern, must du sie ebend kopieren. Es gibt auch Anwendungsfälle in denen die Datei nur ausgelesen wird und danach nicht gebraucht wird. Wenn die Datei nicht automatisch gelöscht werden würde, würde wohl auf einem Grossteil der Server sehr viel Datenschrott anfallen. Denn man müsste, wenn man die Datei nicht mehr braucht (z.B. nach dem Lesen), dann vor Ende des Scripts löschen (ähnlich wie man Datenbankverbindungen und offene Dateien schliessen sollte). Und würdest du dich in diesem Punkt auf Programmierer verlassen wollen? Ausserdem muss der Entwickler sicherstellen, dass nicht irgendwas hochgeladen wird, was überhaupt nicht gebraucht wird, da er die Datei ja extra noch kopieren muss. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.