header("Content....

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

  • header("Content....

    Hallo...

    ich will verschiedene 3D-Dateien (.obj) zum Download anbieten.. Was auch eigentlich soweit funktioniert. Nur wird die heruntergeladene Datei auf 1,961 KB begrenzt. Und ich weiß nicht warum???

    (in $down steht z.B. --> ../test/model.obj)

    size=filesize($down); // gibt in diesem Fall 12MB an
    header('Content-Type:application/octet-stream');
    header("Content-Disposition: attachment;filename=$model_name.obj");
    header("Content-Length: $size");
    readfile($down);



    Achso, WinXP, Apache2...


    Gruß
    saromba

  • #2
    Hast du mal versucht header("Content-Length: $size"); wegzulassen?

    size=filesize($down); // gibt in diesem Fall 12MB an

    da fehlt bei "size" das "$" davor, außerdem gibt dir filesize() die größe in bytes und nicht mb...

    Kommentar


    • #3
      Jepp, hatte ich anfangs weg..Passiert genau das gleiche..außerdem hab ichs schon umgerechnet in MB...Das $ ist auch dabei..ist beim copy/paste untergegangen..


      gruß
      saromba

      Kommentar


      • #4
        versuch das
        This is a good function to overcome the Animated GIF problem in PHP, sending a GIF as a normal file, just putting a header before, just to tell the browser that you are sending a GIF. This was the only way i found to send an animated GIF that really animates in the browser.

        The code i reproduce here is not mine, but posted before by chrisputnam at gmail dot com, and it works just fine, i just putted the header before:

        PHP-Code:
        <?php
          
        function readfile_chunked($filename,$retbytes=true)
          {
           
        $chunksize 1*(1024*1024); // how many bytes per chunk
           
        $buffer '';
           
        $cnt =0;
           
        // $handle = fopen($filename, 'rb');
           
        $handle fopen($filename'rb');
           if (
        $handle === false)
           {
             return 
        false;
           }
           while (!
        feof($handle))
           {
             
        $buffer fread($handle$chunksize);
             echo 
        $buffer;
             
        flush();
             if (
        $retbytes)
             {
               
        $cnt += strlen($buffer);
             }
           }
           
        $status fclose($handle);
           if (
        $retbytes && $status)
           {
             return 
        $cnt// return num. bytes delivered like readfile() does.
           
        }
           return 
        $status;
          }

          
        $vfile "filename.gif";
          
        header("Content-type: image/gif");
          
        readfile_chunked($vfile,false);
        ?>
        ist aus einem der Kommentare vom Manual

        gibt da immer wieder Probleme, wenn das File zu groß ist, bin mir aber gerade nicht sicher was der Auslöser ist/war ... am besten einfach mal die chunked-Funktion ausprobieren ^^

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          Alles klar..Werd ich mal durchkauen

          gruß
          saromba

          Kommentar


          • #6
            Danke...hat funktioniert.. Das hat mich schon Stunden gekostet...

            gruß
            saromba

            Kommentar

            Lädt...
            X