Ankündigung

Einklappen
Keine Ankündigung bisher.

ftp_put: Hochgeladene Dateien immer nur 0 byte groß

Einklappen

Neue Werbung 2019

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

  • ftp_put: Hochgeladene Dateien immer nur 0 byte groß

    Hallo,

    habe das Problem, dass meine per Form und ftp_put hochgeladenen Dateien zwar erstellt werden mit dem richtigen Dateinamen etc, aber immer nur 0 byte groß sind und damit völlig unbrauchbar. Warum ist das so?


    Hier der code:

    Code:
    <form name="form1" method="post" action="#" enctype="multipart/form-data">
    <input name="datei" type="file" id="datei" size="45">
    </form>

    Code:
    <?
    $ftp->upload("server",$remotefile.".".strtoupper($explode[1]),$_FILES['datei']['tmp_name'],"BINARY");
    
    		function upload ($server,$remote_file,$local_file,$mode)
    		{
    		if (strtoupper($mode) == 'ASCII')
    			{
    			$mode = FTP_ASCII;
    			}
    		if (strtoupper($mode) == 'BINARY')
    			{
    			$mode = FTP_BINARY;
    			}
    		if (isset($this->conn_id))
    			{
    			$server = $this->conn_id;
    			}
    		else
    			{
    			echo 'Connection ID nicht gesetzt';
    			}
    
    		ftp_nb_put($server, $remote_file, $file, $mode)
    			or die ('Upload fehlgeschlagen');
    
    		} ?>

    ein print_r($_FILES) gibt z.B. sowas aus:
    Code:
    Array ( [datei] => Array ( [name] => ff.ZIP [type] => application/zip [tmp_name] => /tmp/php/phpXrf8qL [error] => 0 [size] => 931 ) )
    Ich bin mit meinem Latein am Ende und Bitte um Hilfe.
    Wie gesagt, die Dateien werden auf den Server übertragen aber haben 0 byte.

  • #2
    Titel: ftp_put: Hochgeladene Dateien immer nur 0 byte groß
    Code: ftp_nb_put($server, $remote_file, $file, $mode)

    nb wie non-blocking
    Unterschied und Vorgehensweise bei nb-Funktionen im Handbuch nachlesen: http://de2.php.net/ftp_nb_put
    oder vielleicht wirklich ftp_put verwenden.

    Kommentar


    • #3
      hiho,
      das Problem wird somit leider nicht gelöst. ftp_nb_put ermöglicht nur, dass weiterlaufen des PHP scripts sonst nichts.
      Ein ftp_put erzeugt die selben 0 byte Dateien

      Kommentar


      • #4
        Dann versuch's mal so
        PHP-Code:
        function upload($server,$remote_file,$local_file,$mode)
        {
            
        error_reporting(E_ALL); ini_set('display_errors'true);
            if (
        strtoupper($mode) == 'ASCII')
            {
                
        $mode FTP_ASCII;
            }
            else if (
        strtoupper($mode) == 'BINARY')
            {
                
        $mode FTP_BINARY;
            }
            else
            {
                die(
        'upload: invalid Mode');
            }
            
            if (isset(
        $this->conn_id))
            {
                
        $server $this->conn_id;
            }
            else
            {
                die(
        'upload:  Connection ID nicht gesetzt');
            }

            
        $status ftp_nb_put($server$remote_file$file$mode);
            
            while(
        $status==FTP_MOREDATA)
            {
                
        $status ftp_nb_continue($server);
                echo 
        "

        continue</p>\n"
        ;
                
        flush();
                
        sleep(1);
            }
            
            switch(
        $status)
            {
            case 
        FTP_FAILED:
                echo 
        '

        upload failed</p>'
        ;
                break;
            case 
        FTP_FINISHED:
                echo 
        '

        upload finished</p>'
        ;
                break;
            default:
                echo 
        '

        unknown status</p>'
        ;
              break;
            }

        Kommentar


        • #5
          huhu, habe es heraus gefunden. Es lag scheinbar an Firewalleinstellungen meines Providers, der eine direkte FTP Verbindung nicht erlaubt hat.
          Ich habe es mit move_uploaded_file() gelöst

          Kommentar


          • #6

            move_uploaded_file mit ftp-wrapper oder warum überhaupt ftp?

            Kommentar

            Lädt...
            X