ftp upload klappt nicht

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

  • ftp upload klappt nicht

    hallo,
    ich muss mittels ftp und php, pdf dateien auf einen server laden, ich habe da auch schon etwas fertig gemacht, allerdings klappt das nicht wirklich.

    es werden mir auch keine Fehler aus gegeben. Kann mier villeicht jemand helfen

    add_event_action.php:

    PHP-Code:
    <?php 

    include ('../config.php'); 

    $titel $_POST['titel']; 
    $text  $_POST['text']; 

    $source_file   $_POST['source_file']; 

    include (
    'class.FTP.php'); 

    $eintrag "INSERT INTO events 
    (titel, text, pdf) 
    VALUES 
    ('
    $titel', '$text', '$source_file')"

    $eintragen mysql_query($eintrag); 

    if(
    $eintragen == true
       { 
       echo 
    "Ihr Event wurde nun eingetragen."
       } 
    else 
       { 
       echo 
    "Leider ist ein Fehler aufgetreten."
       } 
    ?>
    class.FTP.php

    PHP-Code:
    <?php 

    class FTP
        
       function 
    FtpUpload($ftpdata,$source_file$dir){ 
          
    $conn_id ftp_connect($ftpdata['server']); 
          if ((!
    $conn_id)) { 
             die(
    'Keine FTP Verbindung: '.$error_num); 
          } 
          
    $login_result ftp_login($conn_id$ftpdata['username'], $ftpdata['password']); 
          if ((!
    $conn_id) || (!$login_result)) { 
             
    $error_num 8
          } 
          elseif(!isset(
    $source_file[name]) || empty($source_file[name])) 
             
    $error_num 9
          else{ 
             
    $search    = array(" ","'","´","`","ä","Ä","ö","Ö","ü","Ü","ß","?","!","%","+"); 
          
    $replace    = array("_","","","","ae","Ae","oe","Oe","ue","Ue","ss","","","","_"); 
             
    $dest_name str_replace($search$replace$source_file[name]); 
          if(
    substr($dirstrlen($dir)-1strlen($dir)) != "\/"$dir .= "/include"
             
    //die(ftp_pwd($conn_id)); 
             
    $upload ftp_put($conn_id$dir.$dest_name$source_file[tmp_name], FTP_BINARY); 
             if (!
    $upload
                  
    $error_num 10
             
    ftp_quit($conn_id); 
          } 
          if(isset(
    $error_num) && !empty($error_num)){ 
             die(
    'Fehler beim Kopieren der Datei: '.$error_num); 
          } 
          else{ 
             return 
    $dest_name
          } 
       } 

       function 
    FtpDelete($ftpdata,$file,$self$errorlink=null){ 
          
    $conn_id ftp_connect($ftpdata[server]); 
          
    $login_result ftp_login($conn_id$ftpdata[username], $ftpdata[password]); 
          if ((!
    $conn_id) || (!$login_result)) { 
             
    $error_num 8
          } 
          else{ 
             
    $delete ftp_delete($conn_id$file); 
             if (!
    $delete
                  
    $error_num 16
             
    ftp_quit($conn_id); 
          } 
          if(isset(
    $error_num) && !empty($error_num)){ 
             echo 
    $file.'<br>'
             if(
    $errorlink == null){ 
             die(
    'Fehler beim Löschen der Datei: '.$error_num); 
                
    //header('Location: '.$self.'&error_num='.$error_num); 
                
    exit; 
             } 
             else 
                return 
    false
          } 
          else{ 
             return 
    true
          } 
       } 

    ?>
    und mein eingabe formular:

    [PHP] <?php

    echo "
    <form action=\"add_event_action.php\" target=\"mainFrame\" method=\"POST\">
    <input type=\"text\" name=\"titel\"><br>
    <input type=\"file\" name=\"source_file\"><br>
    <input type=\"submit\" name=\"hinzuf&uuml;gen\">
    </form>";

    ?>
    [PHP]

    Gruß
    scoobo

  • #2
    ist doch logisch, du ruft die klasse garnicht auf, sondern bindest sie nur ein.

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      hmm wo muss ich sie denn aufrufen?

      Kommentar


      • #4
        PHP-Code:
        include ('class.FTP.php'); 
        dahinter
        PHP-Code:
        $ftp = new FTP;
        $upload $ftp -> funktionsaufruf (parameter); 
        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          PHP-Code:
          <?php

          include ('../config.php');

          $titel $_POST['titel'];
          $text  $_POST['text'];

          $source_file   $_POST['source_file']['name'];

          include (
          'class.FTP.php');

          $ftp = new FTP;
          $upload $ftp -> FtpUpload($ftpdata,$source_file$dir);

          $eintrag "INSERT INTO events
          (titel, text, pdf)
          VALUES
          ('
          $titel', '$text', '$source_file')";

          $eintragen mysql_query($eintrag);

          if(
          $eintragen == true)
             {
             echo 
          "Ihr Event wurde nun eingetragen.";
             }
          else
             {
             echo 
          "Leider ist ein Fehler aufgetreten.";
             }
          ?>
          aber er wirft mir aus das keine ftp verbingung hergesetllt werden konnte. Obwohl ich die daten die mir gegeben wurden eingetragen hab.

          Kommentar


          • #6
            wie sieht dein $ftpdata aus?

            gruß
            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              PHP-Code:
              $ftpdata['localhost']['server']        = 'localhost';
              $ftpdata['localhost']['username']    = 'XXX';
              $ftpdata['localhost']['password']    = 'XXX';

              $ftpdata['webserver']['server']    = 'localhost';
              $ftpdata['webserver']['username']    = 'XXX';
              $ftpdata['webserver']['password']    = 'XXX';

              $ftpdata['XXX']['server']    = 'XXX';
              $ftpdata['XXX']['username']    = 'XXX';
              $ftpdata['XXX']['password']    = 'XXX' 
              Warning: ftp_connect(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /var/www/html/baaker/admin/include/class.FTP.php on line 14
              Zuletzt geändert von scoobo; 17.05.2006, 11:07.

              Kommentar


              • #8
                so hab das jetz soweit irgendwie hinbekommen.
                nur jetz erfolgt folgender fehler:

                Warning: ftp_put(): pdf/NeuTextdatei.txt: No such file or directory in /var/www/html/user/admin/include/class.FTP.php on line 30
                Fehler beim Kopieren der Datei: 10

                der code schaut jetz wie folgt aus:

                PHP-Code:
                <?php
                class FTP{
                    
                    function 
                FtpUpload($ftpdata,$source_file$dir){
                        
                $conn_id ftp_connect($ftpdata['server']); 
                        if ((!
                $conn_id)) { 
                            die(
                'Keine FTP Verbindung: '.$error_num);
                        }
                        
                $login_result ftp_login($conn_id$ftpdata['username'], $ftpdata['password']); 
                        if ((!
                $conn_id) || (!$login_result)) { 
                            
                $error_num 8;
                        }
                        elseif(!isset(
                $source_file[name]) || empty($source_file[name]))
                            
                $error_num 9;
                        else{
                            
                $search     = array(" ","'","´","`","ä","Ä","ö","Ö","ü","Ü","ß","?","!","%","+");
                      
                $replace     = array("_","","","","ae","Ae","oe","Oe","ue","Ue","ss","","","","_"); 
                            
                $dest_name str_replace($search$replace$source_file[name]);
                      if(
                substr($dirstrlen($dir)-11) != "/"$dir .= "/";
                            
                //die(ftp_pwd($conn_id));
                            
                $upload ftp_put($conn_id$dir.$dest_name$source_file[tmp_name], FTP_BINARY); 
                            if (!
                $upload)
                                
                $error_num 10;
                           
                ftp_quit($conn_id);
                        }
                        if(isset(
                $error_num) && !empty($error_num)){
                            die(
                'Fehler beim Kopieren der Datei: '.$error_num);
                        }
                        else{
                            return 
                $dest_name;
                        }
                    }

                    function 
                FtpDelete($ftpdata,$file,$self$errorlink=null){
                        
                $conn_id ftp_connect($ftpdata[server]); 
                        
                $login_result ftp_login($conn_id$ftpdata[username], $ftpdata[password]); 
                        if ((!
                $conn_id) || (!$login_result)) { 
                            
                $error_num 8;
                        }
                        else{
                            
                $delete ftp_delete($conn_id$file); 
                            if (!
                $delete)
                                
                $error_num 16;
                           
                ftp_quit($conn_id);
                        }
                        if(isset(
                $error_num) && !empty($error_num)){
                            echo 
                $file.'<br>';
                            if(
                $errorlink == null){
                            die(
                'Fehler beim Löschen der Datei: '.$error_num);
                                
                //header('Location: '.$self.'&error_num='.$error_num);
                                
                exit;
                            }
                            else
                                return 
                false;
                        }
                        else{
                            return 
                true;
                        }
                    }
                }
                ?>
                Zuletzt geändert von scoobo; 17.05.2006, 14:53.

                Kommentar


                • #9
                  und was sagt dir diese meldung? der pfad stimmt nicht. und sage jetzt bitte nicht sowas wie "die datei ist aber da und der ordner auch". nein ist es nicht. apropro unix unterscheidet zwischen groß- und kleinschreibung. also schau mal genau nach.

                  gruß
                  peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar

                  Lädt...
                  X