Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Problem mit FTP-Upload

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Problem mit FTP-Upload

    Ich habe ein Script geschrieben, mit dem ich Dateien bzw. Bilder hochladen möchte. Auf meinem Computer funktioniert das auch, aber auf meinem Notebook nicht. Ich habe genau das gleiche Script verwendet und die selbe Ordnerstruktur.

    Als Fehler bekomme ich aber immer wieder:

    ftp_put(): Filename invalid in E:\xampp\htdocs\ftp\upload\upload_test.php on line 39

    Kann mir bei diesem Fehler einer eine Lösung sagen?
    Danke schonmal.

    Hier noch der Quellcode:
    Code:
    <?php
    // Hier FTP Verbindungs Daten eintragen
    $dir = "test/"; //CHMOD 777
    $host = "localhost";
    $user = "test";
    $passw = "1234";
    //**** Anfang userfile1 *********************************
      if($_FILES['userfile1']['tmp_name'] != FALSE) //hochzuladener File
      {
        $file1 = $_FILES['userfile1']['tmp_name'];
        $i=1;
      }
    
      $new_file_name1 = $_FILES['userfile1']['name'];
      $new_file1 = "".$dir."".$new_file_name1."";
      $type = $_FILES['userfile1']['type']; //Datei-Typ herausfinden
      if($type != "image/gif" && $type != "image/pjpeg") //Gilt nur für gif und jpeg Dateien
      {
        $err[] = "Nur gif und jpeg Dateien d&uuml;rfen hochgeladen werden.";
      }
    //**** Ende userfile1 ***********************************
    
      //Anfang if-Schleife wenn kein $new_file_name und kein $file ausgewählt worden sind
      if(isset($new_file_name1) && isset($file1))
      {
        $ftp_verbindung = ftp_connect("$host");
        $ftp_login = ftp_login($ftp_verbindung, "$user", "$passw");
        if((!$ftp_verbindung) || (!$ftp_login))
        {
          echo "Es wurde keine Verbindung hergestellt!
    
    ";
          die;
        }
        else
        {
          echo "Verbunden auf ".$host." als: ".$user."
    
    ";
        }
    //**** Anfang Upload1 *********************************
          echo $new_file1."
    ".$file1."
    ".$new_file_name1;
          $file_upload1 = ftp_put($ftp_verbindung, "$new_file1", "$file1", FTP_BINARY);
          if((!$file_upload1))
          {
            $i = "Es ist ein Fehler beim Upload aufgetreten!
    
    ";
          }
          else
          {
            $size1 = GetImageSize("".$dir."".$new_file_name1);
            for($i=4;$i>=0;$i--)
            {
              $size1[$i]."
    ";
            }
            $breite=$size1[0];
            $hoehe=$size1[1];
            $soll_breite=480;
            $soll_hoehe=360;
            if ($breite==$soll_breite && $hoehe==$soll_hoehe)
            {
              $i = "Die Datei $new_file_name1 wurde erfolgreich hochgeladen!";
            }
            else
            {
              ftp_delete($ftp_verbindung, "".$dir."".$new_file_name1);
              $i = "Das Bild hat nicht die erforderlichen Seitenl&auml;ngen.
    Das Bild muss 480 x 360 groß sein.";
            }
          }
    
    //**** Ende Upload1 ***********************************
    
              echo $i; //Ausgabe, ob der Upload erfolgreich war oder nicht
              //Verbindung wieder trennen
              ftp_quit($ftp_verbindung);
          }
          //Ende if-Schleife wenn kein $new_file_name und kein $file ausgewählt worden sind
          //Anfang else-Schleife Formular
          else
          {
    ?>
    
    <form enctype="multipart/form-data" action="upload_test.php" method="post">
    <table>
      <tr>
        <td colspan="2" align="center">Bild hochladen:</td>
      </tr>
      <tr>
        <td>Datei1 ausw&auml;hlen: </td><td><input name="userfile1" type="file"></td>
      </tr>
        <td colspan="2" align="center"><input type="submit" value="Send File"></td>
      </tr>
    </table>
    </form>
    
    <?php
          }
          //Ende else-Schleife Formular
    ?>


  • #2
    direkt davor läßt Du die Namen ausgeben
    echo $new_file1."
    ".$file1."
    ".$new_file_name1;
    Was gibt es denn aus?

    Kommentar


    • #3
      Also, es wird eigentlich alles ausgegen.

      1. Der Ordner: test/testbild.jpg
      2. Pfad: C:\WINDOWS\TEMP\php11.tmp
      3. testbild.jpg

      ... das müsste doch richtig sein ...

      Kommentar


      • #4
        hmm, hab das script kurz verwendet, bei mir gings auch nicht.
        was mir jedenfalls aufgefallen ist, ist das:
        <form enctype="multipart/form-data" action="upload_test.php" method="post">
        wenn man das form ausfüllt und auf den button klickt öffnet es die seite upload_test.php und führ den oberen scriptteil nicht aus, desshalb solltest du dort dieses reinschreiben: action="<?php $PHP_SELF ?>"
        so ruft sich das script wieder selber auf und kann das ganze verarbeiten, sonst nicht...
        hoffe es hilft dir...

        Kommentar

        Lädt...
        X