PHP Teil für Datei Upload
Übersicht

![]() |
Dusselchen14Betreff: PHP Teil für Datei Upload |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich versuche gerade mir php-kenntnisse anzulegen. Bin allerdings am verzweifeln.
Angenommen ich will mit meinem BB Proggy den dateipfad der datei auf der festplatte, den namen der datei und den Ordner in den die Datei auf dem Server später liegen soll via GET an die php Datei übergeben. (BB-Teil klar) Wie bewerkstellige ich dann den upload? also den php-teil. Angenommen wir Reden von der Datei "C:\Users\Public\Pictures\Sample Pictures\Pinguine.JPG" die als "Pinguine.JPG" auf den Server in den Ordner "Upload" soll. thx |
||
Lion |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
edit: whups, verlesen...
für php musst du schauen, ob du die daten auch richtig organisiert verstaust, am besten über ne sql datenbank. für den normalen upload findste bei google bestimmt was |
||
Intel Core 2 Quad 4x2.66 ghz - 4gb ddr2 - nvidia GeForce GTX660 2gb
Intel Atom 1x1.83 ghz - 2gb ddr2 - intel GMA 3150 256mb AMD A10-5750M 4x2.5 ghz - 8 gb ddr4 - AMD R9 M290x |
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] <html><head/><?php
$target_path = "uploads/"; $target_path = $target_path . basename( $_FILES['filechooser']['name']); // if(move_uploaded_file($_FILES['filechooser']['tmp_name'], $target_path)) { echo "<body onload=\"alert('Upload erfolgreich')\">"; } else{ echo "<body onload=\"alert('Upload fehlgeschlagen".$_POST['pw']."')\">"; } ?> </body></html> das geht aber nur mit post, was aber für dich ja kein großer unterschied ist das als action für dein htmlformular und du wirst glücklich wenn du das verzeichnis uploads/ angelegt hast...natürlich nur die grundfunktionalität |
||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Für Uploads solltest du POST statt GET verwenden. Wenn du ausserdem den Content-Type "multipart/form-data" verwendest kannst du neben dem Upload auch noch andere Formular-Daten mitsenden:
Code: [AUSKLAPPEN] POST /php_script.php HTTP/1.1
Host: domain.de Content-Type: multipart/form-data; boundary=Trennzeichen12345 Content-Length: <Länge des gesamten Inhalts> --Trennzeichen12345 Content-Disposition: form-data; name="file"; filename="Dateiname.jpg" Content-Type: image/jpeg <Binärdaten vom Upload, in diesem Fall ein JPG-Bild> --Trennzeichen12345 Content-Disposition: form-data; name="pfad" upload/ --Trennzeichen12345-- <Länge des gesamten Inhalts> = nicht nur die Länge der hochgeladenen Datei, sondern von allem was unterhalb der ersten Leerzeile steht in Bytes. Wichtig ist das Boundary im Zusammenhang mit dem multipart/form-data. Dieses wird als Trennzeichen benutzt. Effektiv werden zum Trennen der einzelnen Teile noch zwei Bindestriche vorangestellt. Ganz am Ende kommt dann nochmal das Trennzeichen mit zusätzlich zwei Bindestrichen am Ende. Jeder Teil kann wieder eigene "Content-xxxx"-Header haben. Nach den Headern kommt wieder eine Leerzeile wie beim HTTP-Header und anschliessend die Daten selbst. In PHP ist es dann ganz einfach: Code: [AUSKLAPPEN] <?php
$tmp = $_FILES['file']['tmp_name']; $name = $_FILES['file']['name']; $pfad = $_POST['pfad'] // Nur falls es eine Formular-Variable "pfad" gibt (siehe oben beim POST) move_uploaded_file($tmp, $pfad . $name); ?> |
||
![]() |
Dusselchen14 |
![]() Antworten mit Zitat ![]() |
---|---|---|
okay
ich hab es jetzt geschafft mit dem Formular: Code: [AUSKLAPPEN] <form enctype="multipart/form-data" action="uploadfile.php" method="post">
<input type="file" name="file"><br> <input type="submit" value="hochladen"> </form> über den aufruf der .html eine datei zu uploaden. Aber jetzt doch nochmal ne bb-Frage: Wie kann ich den Dateipfad denn jetzt so an die php datei übergeben damit der Upload funktioniert? Jetzt hab ich zwar den PHP-teil verstanden aber krieg bb doch nicht auf die Reihe^^ |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du musst nicht den Pfad der Datei senden, sondern deren Inhalt. | ||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
Lion |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wars ja eigentlich doch richtig, was ich zuerst geschrieben hatte >.<
https://www.blitzforum.de/foru...ght=upload schaus dir an, hilft dir bestimmt! |
||
Intel Core 2 Quad 4x2.66 ghz - 4gb ddr2 - nvidia GeForce GTX660 2gb
Intel Atom 1x1.83 ghz - 2gb ddr2 - intel GMA 3150 256mb AMD A10-5750M 4x2.5 ghz - 8 gb ddr4 - AMD R9 M290x |
![]() |
Dusselchen14 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hilft schon ein wenig.
Aber ich hab trotzden null Ahnung wie ich den Inhalt der Datei übergeben soll. Muss das denn auch immer so kompliziert sein? =( Zitat: Code: [AUSKLAPPEN]
<?php
$tmp = $_FILES['file']['tmp_name']; $name = $_FILES['file']['name']; $pfad = $_POST['pfad'] // Nur falls es eine Formular-Variable "pfad" gibt (siehe oben beim POST) move_uploaded_file($tmp, $pfad . $name); ?> Das hab ich ja jetzt alles verstanden.... mein problem ist nur noch 'file' (wie) kann ich den inhalt in bb nicht einfach in die variable inhalt einlesen und dann als wert für 'file' übergeben? Wie les ich das am besten ein für die übergabe an php? Sorry dass ich so schwer von begriff bin. aber php ist nich grad mein spezialgebiet^^ |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eigentlich hat es nichts mehr mit PHP zu tun, eher HTTP ![]() Da mich das ganze selber auch interessiert hat, habe ich mal einen "kleinen" BB-Code geschrieben. Ich werde ihn gleich ins Code-Archiv stellen und hier den Link dazu einfügen. Hoffe das hilft dir weiter... Edit: https://www.blitzforum.de/foru...774#352774 |
||
![]() |
Dusselchen14 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke!! Funktioniert damit perfekt. Echt stark!! | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group