Ankündigung

Einklappen
Keine Ankündigung bisher.

datei upload problem

Einklappen

Neue Werbung 2019

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

  • datei upload problem

    hi leute hab ein problem mit meinem php upload script.
    es wird pfad_div.php includiert.. dort weist die Variable
    $ftp_pfad auf "ftp://username:bla@testserver/";
    der ftp server läuft unter xampp.. also unter dem FileZilla.
    dort funktioniert der upload!
    möchte ich nun einen anderen ftp server benutzen bekomm ich einen fehler:

    PHP-Code:

    Warning
    :  move_uploaded_file(ftp://...@testserver1/archiv.php) [function.move-uploaded-file]: failed to open stream: FTP server reports 553 Could not create file.  in /var/www/Archiv/upload.php on line 18

    Warning:  move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpAv9eAm' to 'ftp://username:pass@testserver1/archiv.php' in /var/www/Archiv/upload.php on line 18
    Fehler beim Hochladen der Datei

    der ftp benutzer hat voll rechte.
    der ftp server läuft unter linux.
    an was kann es liegen? kann es an der php.ini liegen? müsste doch aber gleich sein auch unter linux


    Script:

    PHP-Code:
    <?php

        
        
    include "pfad_div.php";
        
    $uploadDir $ftp_pfad//muss auf den Ordner "/upload" zeigen
        
    $uploadFile $uploadDir $_FILES['userfile']['name'];
          if (empty(
    $_FILES)) { 
              echo 
    "<b>Bitte Exportdatei auswählen</b><br><br>";
          }
          else
          {
            if (!
    is_file($uploadFile)){
            }
            else
            {
              
    unlink  ($uploadFile);
            }    
    //Zeile 18            if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadFile)) { 
                    
    echo "<b>Datei wurde erfolgreich hochgeladen</b>";
                    echo 
    "<br>";
                    echo 
    "<br>Name: ".$_FILES['userfile']['name']."<br>";
                    echo 
    "<br>Größe: ".$_FILES['userfile']['size']." kb<br>";
                    echo 
    "<br>";             
                }
            else {
                  echo 
    "<b>Fehler beim Hochladen der Datei!</b>\n";
                  echo  
    "<br>Fehler: ".$_FILES['userfile']['error']." ";
                      switch (
    $_FILES['userfile']['error']) {
                          
                          case 
    1:
                            echo 
    "The uploaded file exceeds the upload_max_filesize directive in php.ini.";
                           
                          case 
    2:
                            echo 
    "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.";
                            break;
                            
                          case 
    3:
                            echo 
    "The uploaded file was only partially uploaded. ";
                            break;
                            
                          case 
    4:
                            echo 
    "No file was uploaded";
                            break;
                            
                          case 
    6:       
                            echo 
    "Missing a temporary folder. Introduced in PHP 4.3.10 and PHP 5.0.3.";
                            break;
                                      
                          case 
    7:        
                            echo 
    "Failed to write file to disk. Introduced in PHP 5.1.0";
                            break;
                              
                          case 
    8:        
                            echo 
    "File upload stopped by extension. Introduced in PHP 5.2.0";
                            break;
                            
                          default:        
                              echo 
    "unbekannter Fehler!";
                        }
                echo  
    "<br>";
                echo  
    "<br>";
              }
          }
    ?> 
    <html>  
      <head>    
      </head>  
      <body>    
        <form enctype="multipart/form-data"  method="post">      
          <input type="hidden" name="MAX_FILE_SIZE" value="100000">      
          <input name="userfile" type="file">      
          <input type="submit" value="Upload Datei">    
        </form>  
      </body>
    </html>


  • #2
    Du brauchst bei move_uploaded_file kein ftp sondern lediglich das VErzeichnis, in dem die Rechte entsprechend gesetzt sein müssen.

    Kommentar


    • #3
      habe was an der frage übersehen:
      Du kannst mit move_uploaded_file() nicht auf einen anderen Server zugreifen. Dafür müsstest Du dann einen ftp connect machen...

      Kommentar


      • #4
        hmm wieso kann ich dann einen anderen ftp server angeben?
        der funktioniert nämlich..

        wie muss das dann ungefähr aussehen der befel zum übertragen der datei?
        kann ich schon noch von dem formular die datei übergeben?

        Kommentar


        • #5
          hm ich hätte gedacht move_uploaded_file ist nur für lokale dateien...
          macht ja auch sinn.
          ftp_connect
          ftp_login
          ftp_put
          ftp_quit
          hätte ich benutzt um über verschiedene Server zu gehen

          Kommentar


          • #6
            Kann denn move_uploaded_file() wirklich mit Streams umgehen? Im Handbuch steht dazu nichts.

            Vielleicht mal hier nachschauen:
            PHP: FTP - Manual
            "Mein Name ist Lohse, ich kaufe hier ein."

            Kommentar

            Lädt...
            X