Problem mit fopen und fread

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

  • Problem mit fopen und fread

    hi,

    ich versuche während des Dateiuploads die Grösse der Temp Datei abzufragen. So sieht der Code aus ($started scheint immer FALSE zu bleiben):

    PHP-Code:

    // vars
    $info_file $temp_name// Pfad der TempDatei

    $percent_done 0;

    $started TRUE;

    if (
    $fp = @fopen($info_file,"r")) {

            
    $fd fread($fp,1000);
            
    fclose($fp);
            
    $total_size $fd;

    } else {

        
    $started FALSE;

    }

    if (
    $started == TRUE) {

        
    $current_size $file_size;
        
    $percent_done intval(($current_size $total_size) * 100);

    }

    echo 
    $percent_done
    Ich kriege als $percent_done immer 0. Ich kann es leider nicht online testen, deshalb weiss ich nicht, ob der Rechner einfach zu schnell ist, d.h., dass die TempDatei immer schon gelöscht ist, wenn das Script greift, oder ob ich im Script einen Fehler gemacht habe.

    Hoffe ihr könnt mir helfen, Marc

  • #2
    ich fürchte, dass das so ohne weiteres nichts wird.

    warum kannst du nicht online testen?
    woher kommt der temporäre pfad?

    Kommentar


    • #3
      Hab gerade keinen Zugang...

      Der Temporäre Pfad kommt da her:

      $temp_name = ($_FILES[$field]['tmp_name']);

      Slashes sind drin.

      Ich hatte mir das eigentlich so vorgestellt, dass ich den geposteten PHP-Teil per JS Request Object regelmäßig aufrufe und dann eine ehrliche % Angabe bekomme.

      Kommentar


      • #4
        Der Temporäre Pfad kommt da her:

        $temp_name = ($_FILES[$field]['tmp_name']);

        Slashes sind drin.
        dann kannstes mit sicherheit vergessen. Wenn $_FILES zur Verfügung steht, ist die Datei natürlich schon hochgeladen. Egal ob online oder bei dir lokal...

        Das Thema hatten übrigens schon öffters...

        Kommentar


        • #5
          Ist das so...?

          Wenn ich aber zwischen

          $temp_name = ($_FILES[$field]['tmp_name']);

          und

          move_uploaded_file($temp_name,"../images/users/1/profile/".$newfilename);

          ein file_exists($newfilename) mache, bekomme ich immer false, die endgültige Datei scheint da dann noch nicht geschrieben zu sein....

          Kommentar


          • #6
            Weißt du überhaupt, was du da machst?

            natürlich existiert die endgültige Datei VOR dem move_uploaded_file noch nicht. Weil die ja dort erst explizit angelegt wird. Das ändert aber nichts an der Tatsache, dass die temporäre Datei bereits hochgeladen ist.

            Kommentar


            • #7
              Reicht es Dir nicht die Filegrösse nach dem Upload festzustellen ?
              PHP-Code:
              $_FILES['userfile']['size'
              Gruss

              tobi
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar


              • #8
                @jah:
                Ich hatte mir das eigentlich so vorgestellt, dass ich den geposteten PHP-Teil per JS Request Object regelmäßig aufrufe und dann eine ehrliche % Angabe bekomme.

                Kommentar

                Lädt...
                X