Anzeige

Upload Script fehlerhaft

Upload Script fehlerhaft | PSD-Tutorials.de

Erstellt von SWFP, 03.01.2013.

  1. SWFP

    SWFP SWFP Mitglied

    Dabei seit:
    29.04.2011
    Beiträge:
    279
    Geschlecht:
    männlich
    Software:
    EDIUS, Phase 5 html Editor, Notepad++, MAGIX Video deluxe
    Kameratyp:
    JVC Enverio
    Upload Script fehlerhaft
    Hi,

    ich habe folgendes Script:

    PHP:
    1. <?php
    2. // Diese Variablen bitte ändern
    3. $ftp_server = "bunte-ecke.bplaced.net";
    4. $benutzername = "bunte-ecke_test";
    5. $passwort = "*******";
    6.  
    7. // Die Verbindung herstellen
    8. $connection_id = ftp_connect($ftp_server) or die("Konnte keine Verbindung zu $ftp_server aufbauen");
    9.  
    10. // Mit Benutzername und Kennwort anmelden
    11. $login_result = ftp_login($connection_id, $benutzername, $passwort);
    12.  
    13. // überprüfen ob alles gutgegangen ist
    14. if ((!$connection_id) || (!$login_result)) {
    15.         echo "<H1>Ftp-Verbindung konnte nicht hergestellt werden!<H1>";
    16.         echo "<P>Verbindung mit ftp_server als Benutzer $benutzername nicht möglich! Bitte ueberpruefen Sie Ihre Eingaben!</P>";
    17.         die;
    18. } else {
    19.         echo "<P>Verbunden mit ftp_server als Benutzer $benutzername</P>";
    20. }
    21.  
    22. // Die aus dem Forumular übergebenen Daten abfragen
    23. $zieldatei = $_POST['zieldatei'];
    24. $lokale_datei = $_POST['lokale_datei'];
    25.  
    26. // Hochladen der Datei
    27. $upload = ftp_put($connection_id, $zieldatei, $lokale_datei, FTP_ASCII);
    28.  
    29. // Upload-Status überprüfen
    30. if (!$upload) {
    31.         echo "<P>Ftp upload war fehlerhaft!</P>";
    32. } else {
    33.         echo "<P>Datei $slokale_datei auf $host als $zieldatei geschrieben</P>";
    34. }
    35.  
    36. // Schließen der Verbindung
    37. ftp_quit($connection_id);
    38. ?>
    Einloggen und starten funktioniert bereits einwandfrei. Beim Hochladen kommt dann aber der Fehler.

    Das Passwort ist zwar richtig, habe es verständlicherweise unkenntlich gemacht.
     
    #1      
  2. Ghaengi

    Ghaengi Noch nicht viel geschrieben

    Dabei seit:
    07.05.2012
    Beiträge:
    3
    Geschlecht:
    männlich
    Ort:
    Paderborn
    Software:
    Aptana
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    Hallo SWFP,

    von der Fehlermeldung her, sieht es so aus als wenn du in deinem Pfad für die Zieldatei, den Dateinamen nicht mit angegeben hast.

    Da ich leider nicht genau weiß was du bei deinem Formular alles mit übergibst, kann ich das nicht genau sagen, aber wenn du nur den Pfad angibst in welchen Ordner du die Datei auf deinem Server speichern willst, solltest du noch den Dateinamen dahinter schreiben.

    ggf. reicht es schon wenn du von der Lokalen Datei einfach den Namen nimmst, dies könntest du evtl. so umsetzen.

    PHP:
    1.  
    2. $zieldatei    = $_POST['zieldatei'];
    3. $lokale_datei = $_POST['lokale_datei'];
    4.  
    5. $zieldatei   .= "/" . end( explode( "/", $lokale_datei ) );
    6.  
    7.  
    Ich hoffe ich konnte dir weiterhelfen ^^ wenn es nicht klappen sollte, kannst du ja noch einmal den inhalt deiner Variablen nachgucken und ggf. hier Posten ;)

    Viele Grüße
     
    #2      
  3. netbandit

    netbandit Aktives Mitglied

    12
    Dabei seit:
    18.05.2008
    Beiträge:
    1.145
    Geschlecht:
    männlich
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    Sollte Dein Formular Multipart/Form-Data und Dein Inputfeld vom Typ file sein, müsstest Du die Daten der lokalen Datei via $_FILES anstelle von $_POST ansprechen.

    Grüße :)
     
    #3      
  4. Sorc

    Sorc Nicht mehr ganz neu hier

    Dabei seit:
    14.08.2009
    Beiträge:
    65
    Geschlecht:
    männlich
    Ort:
    Rostock
    Software:
    PhpStorm, Xcode, Android Studio, NetBeans, Visual Studio
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    Hi,
    den Upload wie du ihn realisieren willst ist doppelt gemoppelt. PHP arbeitet Serverseitig. Wenn du also ein Datei auswählst, wird sie per PHP hochgeladen. Da ist ftp dann unnütz. Ftp mit PHP ist nur Sinnvoll um Daten von dem Webserver auf einen anderen Server zu kopieren. Ich denke mal dir geht es darun große Dateien hoch zu laden. Das hatte ich auch gedacht aber es stellte sich schnell eine ernüchterung ein.
     
    #4      
  5. shadownight

    shadownight Nicht mehr ganz neu hier

    Dabei seit:
    14.01.2011
    Beiträge:
    70
    Geschlecht:
    männlich
    Ort:
    Bramsche
    Software:
    Photoshop Cs 5.1, Dreamweaver Cs 5
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    Hi
    Versuch doch mal so in der Art
    Code (Text):
    1.  
    2. $tempname = $_FILES[filename']['tmp_name'];  
    3. $name = $_FILES['filename']['name'];  
    4. $type = $_FILES['filename']['type'];  
    5. $size = $_FILES['filename']['size'];  
    6. if($type != "Dateitype" && $type != "Dateitype2" && $type != "Dateitype3") {  
    7.     $err[] = "nur ... und...Dateien dürfen hochgeladen werden.";  
    8. }  
    9. if($size > "2048000") {  
    10.     $err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 2 MB!";  
    11. }  
    12. if(empty($err)) {  
    13.     move_uploaded_file($tempname, "/Dein verzeichniss/Dein unterverzeichniss");  
    14. }  
    15. else {  
    16.     foreach($err as $error)  
    17.     echo "$error<br>";  
    18. }
    19.  
    Hoffe konnte dir helfen
     
    #5      
  6. SWFP

    SWFP SWFP Mitglied

    Dabei seit:
    29.04.2011
    Beiträge:
    279
    Geschlecht:
    männlich
    Software:
    EDIUS, Phase 5 html Editor, Notepad++, MAGIX Video deluxe
    Kameratyp:
    JVC Enverio
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    Hi,

    tut mir leid, dass ich euch so lange auf meine Antwort habe warten lassen.

    @Ghaengi: Weder mit, noch ohne Dateinamen funktioniert es. Auch wenn ich deine Variante dort einfüge. Hier noch einmal den Code des Formulars:

    Code (Text):
    1. <html>
    2. <head>
    3. <title>Datei Upload</title>
    4. </head>
    5.  
    6. <body bgcolor="#FFFFFF" text="#000000">
    7.         <h1>Schicken Sie uns ihre Texte</h1>
    8.         <form action="verarbeitung.php" enctype="multipart/form-data" method="POST">
    9.  
    10.                 <p> Wählen Sie eine Textdatei (txt, html usw.)
    11.                 von Ihrem Rechner aus:<br />
    12.                 <input name="lokale_datei" type="file"
    13.                 size="50" maxlength="1024" accept="text/*">
    14.  
    15.                 </p>
    16.                 <p>Verzeichnis/Zieldatei<br>
    17.                 <input type="text" name="zieldatei">
    18.                 </p>
    19.  
    20.                 <p>
    21.                 <input type="submit" name="Abschicken"
    22.                 value="Abschicken">
    23.                 </p>
    24.  
    25.         </form>
    26. </body>
    27. </html>
    Ist der Punkt eigentlich in der Zeile gleich nach $zieldatei
    PHP:
    1. $zieldatei   .= "/" . end( explode( "/", $lokale_datei ) );    
    so gewünscht?

    Ich habe in das Ausgabescript für den Fall eines Fehlers :))) eingebaut, dass der Inhalt der Variablen angezeigt wird. Und siehe da: Das, was ich schon vage vermutet hatte: Die Datei geht mir immer durch die Lappen:

    @netbandit: Sowohl das Formular, als auch das Input Feld haben diese Parameter.
    Spreche ich die Datei mit $_FILES an, sieht die Fehlermeldung so aus:

    @Sorc: Wie sehe das denn in purem PHP aus?

    @shadownight: Auch mit deinem Script bekomme ich einen Fehler:
    Grüße
     
    #6      
  7. Duddle

    Duddle Posting-Frequenz: 14µHz

    Dabei seit:
    03.02.2006
    Beiträge:
    3.864
    Geschlecht:
    männlich
    Ort:
    Dresden
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    Dein <input> vom Typ "file" wird nicht in $_POST übergeben, sondern in $_FILES. Daher macht die Zeile
    PHP:
    1. $lokale_datei = $_POST['lokale_datei'];
    nichts. Die Variable $lokale_datei ist dann leer, genau deshalb wirft ftp_put() dann den Fehler dass der Dateiname nicht leer sein darf.

    Lern grundlegendes Debugging mit print_r() bzw. var_dump() für Arrays und echo für andere Variablen, dann findest du solche Fehler auch alleine. Schau dir ausserdem die Superglobalen an, wenn du die noch nicht verstehst.


    Duddle
     
    #7      
  8. SWFP

    SWFP SWFP Mitglied

    Dabei seit:
    29.04.2011
    Beiträge:
    279
    Geschlecht:
    männlich
    Software:
    EDIUS, Phase 5 html Editor, Notepad++, MAGIX Video deluxe
    Kameratyp:
    JVC Enverio
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    @Duddle: nein, es handelt sich mittlerweile schon um $_FILES, doch es funktioniert trotzdem nicht.

    @shadownight: Ich habe gerade einen kleinen Fehler in deinem Script entdeckt: beim ersten ['filename'] fehlte das Anführungszeichen. Dann murrte es aber immer noch, der Dateityp wäre falsch. Als ich die Codezeile entfernte, denn aus ihr wurde ich nicht ganz schlau- vielleicht kannst du mir das mal kurz erläutern-, funktionierte es soweit, dass keine Fehlermeldung mehr kam. Passiert ist aber nichts.
    Ich habe mir den Variableninhalt ausgeben lassen, doch er war leer.
     
    Zuletzt bearbeitet: 29.01.2013
    #8      
  9. Duddle

    Duddle Posting-Frequenz: 14µHz

    Dabei seit:
    03.02.2006
    Beiträge:
    3.864
    Geschlecht:
    männlich
    Ort:
    Dresden
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    Hast du mehr als nur $_POST umbenannt, also tmp_name ausgelesen? "Funktioniert nicht" ist keine ausreichende Fehlerbeschreibung.


    Duddle
     
    #9      
  10. SWFP

    SWFP SWFP Mitglied

    Dabei seit:
    29.04.2011
    Beiträge:
    279
    Geschlecht:
    männlich
    Software:
    EDIUS, Phase 5 html Editor, Notepad++, MAGIX Video deluxe
    Kameratyp:
    JVC Enverio
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    Oh, tut mir leid.

    Nee, schon gut. Die ganzen Dateien brauch ich doch gar nicht, oder? Ich brauch doch nur Zieldatei und lokale Datei.
     
    #10      
  11. Duddle

    Duddle Posting-Frequenz: 14µHz

    Dabei seit:
    03.02.2006
    Beiträge:
    3.864
    Geschlecht:
    männlich
    Ort:
    Dresden
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    Du brauchst den Pfad für die Zieldatei und du brauchst den Pfad der lokalen, hochgeladenen Datei (auf dem PHP-Server). Ersteres gibst du selbst an, letzteres liefert dir 'tmp_name' im $_FILES-Array. Ergo musst du das auslesen, sonst weiß ftp_put nicht wo die Datei zu finden ist.


    Duddle
     
    #11      
  12. SWFP

    SWFP SWFP Mitglied

    Dabei seit:
    29.04.2011
    Beiträge:
    279
    Geschlecht:
    männlich
    Software:
    EDIUS, Phase 5 html Editor, Notepad++, MAGIX Video deluxe
    Kameratyp:
    JVC Enverio
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    Ah, okay. Danke. Aber selbst ersteres wird nicht mitgeliefert, also geht wieder verloren.
     
    #12      
  13. Duddle

    Duddle Posting-Frequenz: 14µHz

    Dabei seit:
    03.02.2006
    Beiträge:
    3.864
    Geschlecht:
    männlich
    Ort:
    Dresden
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    Dann machst du etwas anderes falsch. Kannst du das derzeitige Script und dazugehörige Formular zeigen?


    Duddle
     
    #13      
  14. SWFP

    SWFP SWFP Mitglied

    Dabei seit:
    29.04.2011
    Beiträge:
    279
    Geschlecht:
    männlich
    Software:
    EDIUS, Phase 5 html Editor, Notepad++, MAGIX Video deluxe
    Kameratyp:
    JVC Enverio
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    upload.html
    Code (Text):
    1. <html>
    2. <head>
    3. <title>Datei Upload</title>
    4. </head>
    5.  
    6. <body bgcolor="#FFFFFF" text="#000000">
    7.         <h1>Schicken Sie uns ihre Texte</h1>
    8.         <form action="verarbeitung.php" enctype="multipart/form-data" method="POST">
    9.  
    10.                 <p> Wählen Sie eine Textdatei (txt, html usw.)
    11.                 von Ihrem Rechner aus:<br />
    12.                 <input name="lokale_datei" type="file"
    13.                 size="50" maxlength="1024" accept="text/*">
    14.  
    15.                 </p>
    16.                 <p>Verzeichnis/Zieldatei<br>
    17.                 <input type="text" name="zieldatei">
    18.                 </p>
    19.  
    20.                 <p>
    21.                 <input type="submit" name="Abschicken"
    22.                 value="Abschicken">
    23.                 </p>
    24.  
    25.         </form>
    26. </body>
    27. </html>
    verarbeitung.php
    PHP:
    1. $tempname = $_FILES[filename']['tmp_name'];  
    2. $name = $_FILES['filename']['name'];  
    3. $type = $_FILES['filename']['type'];  
    4. $size = $_FILES['filename']['size'];  
    5. if($type != "Dateitype" && $type != "Dateitype2" && $type != "Dateitype3") {  
    6.    $err[] = "nur ... und...Dateien dürfen hochgeladen werden.";  
    7. }  
    8. if($size > "2048000") {  
    9.    $err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 2 MB!";  
    10. }  
    11. if(empty($err)) {  
    12.    move_uploaded_file($tempname, "/Dein verzeichniss/Dein unterverzeichniss");  
    13. }  
    14. else {  
    15.    foreach($err as $error)  
    16.    echo "$error<br>";  
    17. }
     
    #14      
  15. Duddle

    Duddle Posting-Frequenz: 14µHz

    Dabei seit:
    03.02.2006
    Beiträge:
    3.864
    Geschlecht:
    männlich
    Ort:
    Dresden
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    Ein bisschen musst du schon mitdenken. Bei dir heißt das <input>-Feld "lokale_datei", nicht "filename". Ausserdem hast du ja selbst den fehlenden ' bemerkt. Die Pfade hast du auch nicht angepasst und irgendwie vermute ich du hast nicht mal die PHP-Tags in der Datei.


    Duddle
     
    #15      
  16. shadownight

    shadownight Nicht mehr ganz neu hier

    Dabei seit:
    14.01.2011
    Beiträge:
    70
    Geschlecht:
    männlich
    Ort:
    Bramsche
    Software:
    Photoshop Cs 5.1, Dreamweaver Cs 5
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    Habs nochmal überarbeitet und getestet, sollte jetzt eigentlich funktionieren.

    Einmal der html Teil also bei mir index.html
    Code (Text):
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2. <html xmlns="http://www.w3.org/1999/xhtml">
    3. <head>
    4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    5. <title>Upload Script</title>
    6. </head>
    7.  
    8. <body>
    9. <form action="upload.php" method="post" enctype="multipart/form-data">
    10. <input type="file" name="file" /><input type="submit" value="Hochladen" />
    11. </form>
    12. </body>
    13. </html>
    Die upload.php:
    Code (Text):
    1. <?php
    2. $tempname = $_FILES['file']['tmp_name'];  
    3. $name = $_FILES['file']['name'];  
    4. $type = $_FILES['file']['type'];  
    5. $size = $_FILES['file']['size'];    
    6. if($size > "1048576") {  
    7.     $err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 2 MB!";  
    8. }  
    9. if(empty($err)) {  
    10.     move_uploaded_file($tempname, "files/".$name);  
    11. }  
    12. else {  
    13.     foreach($err as $error)  
    14.     echo "$error<br>";  
    15. }
    16. ?>
    Sollte jetzt eigentlich funktionieren im teil "files/" musst du den Fad durch deinen eigenen ersetzen als dort wo die Datein gespeichert werden sollen.Und bei dem teil f($size > "1048576") musst du die Zahl durch deine gewünschte max mb zahl die uplgeloadet werden darf in bytes angeben. Hoffe konnte dir damit helfen.
     
    #16      
  17. SWFP

    SWFP SWFP Mitglied

    Dabei seit:
    29.04.2011
    Beiträge:
    279
    Geschlecht:
    männlich
    Software:
    EDIUS, Phase 5 html Editor, Notepad++, MAGIX Video deluxe
    Kameratyp:
    JVC Enverio
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    Oh tut mir leid. Bei so vielen Variationen und Versuchen und Hin- und Her sehe ich langsam den Wald vor lauter Bäumen nicht mehr.
     
    #17      
  18. SWFP

    SWFP SWFP Mitglied

    Dabei seit:
    29.04.2011
    Beiträge:
    279
    Geschlecht:
    männlich
    Software:
    EDIUS, Phase 5 html Editor, Notepad++, MAGIX Video deluxe
    Kameratyp:
    JVC Enverio
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    Ich glaube, ich habe mich falsch ausgedrückt, als Sorc mir erklärte, dass diese Funktion nur zum Verschieben da ist. Ich wollte aber etwas neues hochladen. Oder verstehe ich da jetzt was falsch?
     
    #18      
  19. Duddle

    Duddle Posting-Frequenz: 14µHz

    Dabei seit:
    03.02.2006
    Beiträge:
    3.864
    Geschlecht:
    männlich
    Ort:
    Dresden
  20. SWFP

    SWFP SWFP Mitglied

    Dabei seit:
    29.04.2011
    Beiträge:
    279
    Geschlecht:
    männlich
    Software:
    EDIUS, Phase 5 html Editor, Notepad++, MAGIX Video deluxe
    Kameratyp:
    JVC Enverio
    Upload Script fehlerhaft
    AW: Upload Script fehlerhaft

    Danke Duddle.

    Allerdings wurde mir gesagt, dass der Upload auf kostenlosem Webspace auf diese Weise oft unterbunden wird. Deshalb befürchte ich, dass das auch in diesem Fall der Fall ist.

    SWFP
     
    #20      
Seobility SEO Tool
x
×
×