1. #1

    Registered
    21/07/02
    Location
    Antwerpen
    Posts
    116
    iTrader
    0
    Mentioned
    0 Post(s)

    PHP: fout in header()

    PHP Code:
    <?PHP

    $bestand 
    $_GET["bestand"];

    $size filesize($bestand);

    header("Content-Type: application/unknown");
    header("Content-length: $size");
    header("Content-Disposition: attachment; filename=$bestand");

    ?>
    Als deze code nu in test.php staat, en ik voer test.php?bestand=afbeelding.jgp uit (waarbij afbeelding.jpg in dezelfde map als test.php staat), dan krijg ik wel een downloadkadertje, maar de grootte is altijd 0 byte...

    Ah ja: als ik een onbestaand bestand opgeef, krijg ik het zelfde resultaat.
    Ik neem aan dat hij mijn test.jpg gewoon niet kan vinden.

    Iemand een idee?
    Alvast bedankt.

    Edit: ook Content-Type: application/octet-stream doet niets.
    Last edited by Kipp^Smith; 25-09-2004 at 19:06.
    no votes  

  2. #2

    Registered
    12/10/02
    Location
    mars
    Posts
    14,319
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/0
    doe eens een file_exists op $bestand
    no votes  

  3. #3

    Registered
    21/07/02
    Location
    Antwerpen
    Posts
    116
    iTrader
    0
    Mentioned
    0 Post(s)
    Quote Originally Posted by killgore
    This quote is hidden because you are ignoring this member. Show
    doe eens een file_exists op $bestand
    Hij kan de size berekenen, dus ik was er vrij zeker van dat $bestand juist is.

    Afijn, echo file_exists($bestand); geeft 1, dus true...

    Iets anders?
    no votes  

  4. #4

    Registered
    12/10/02
    Location
    mars
    Posts
    14,319
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Voor de rest: zover ik mij kan herinneren is dit niet meer dan een common bug die je dus niet kan omzeilen.

    Met gewoon een location header kom je ook al redelijk ver, er zullen enkel sommige bestanden in de browser zelf geopend worden (afbeeldingen bv.)
    no votes  

  5. #5
    stealth_wing[MO]'s Avatar
    Registered
    20/08/02
    Posts
    1
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Als je geen file doorstuurt, is het normaal dat de grootte 0 byte is

    Headers zijn headers. Ze bevatten enkel metadata (dus geen echte data, alleen info over de data).

    Na je headers moet je de content van de file naar de output sturen. Bv. print("Test"); zou het woordje Test in de file moeten zetten.
    no votes  

  6. #6
    zero2one's Avatar
    Registered
    06/09/02
    Location
    Oudenaarde
    Posts
    125
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    als het altijd jpg bestanden zijn kan je dit gebruiken:

    PHP Code:
    $bestand $_GET["bestand"];


    if ( 
    is_file($bestand) )    // checken of het een file is en dan zenden
        

        
    header("Content-type: image/jpg; filename=$bestand"); 
        
    header("Content-Length: " filesize($bestand)); 
        
    readfile($file); 
        exit; 
        } 
    - the artist is living in the mirror whit the echoes of himself -
    - www.serial-graphics.be/sg2 -
    no votes  

  7. #7

    Registered
    21/07/02
    Location
    Antwerpen
    Posts
    116
    iTrader
    0
    Mentioned
    0 Post(s)
    Shitterend!

    PHP Code:
    <?PHP

    $bestand 
    $_GET["bestand"];

    $size filesize($bestand);

    header("Content-Type: application/octet-stream");
    header("Content-length: $size");
    header("Content-Disposition: attachment; filename=$bestand");

    readfile($bestand); 

    ?>
    Werkt perfect. Hartelijk dank!
    no votes  

  8. #8
    zero2one's Avatar
    Registered
    06/09/02
    Location
    Oudenaarde
    Posts
    125
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    af en toe eens te rade gaan in die fantastische on-line documentatie kan helpen:

    php.net

    kijk naar het voorbeeld voor pdf (laatste voorbeeld voor de User Contributed Notes)
    - the artist is living in the mirror whit the echoes of himself -
    - www.serial-graphics.be/sg2 -
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in