Thread: PHP: fout in header()
-
25-09-2004, 19:03 #1Member
- Registered
- 21/07/02
- Location
- Antwerpen
- Posts
- 116
- iTrader
- 0
- Mentioned
- 0 Post(s)
PHP: fout in header()
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...PHP Code:<?PHP
$bestand = $_GET["bestand"];
$size = filesize($bestand);
header("Content-Type: application/unknown");
header("Content-length: $size");
header("Content-Disposition: attachment; filename=$bestand");
?>
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
-
-
25-09-2004, 19:05 #2Member
- 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
-
25-09-2004, 19:07 #3Member
- Registered
- 21/07/02
- Location
- Antwerpen
- Posts
- 116
- iTrader
- 0
- Mentioned
- 0 Post(s)
no votes
-
25-09-2004, 19:54 #4Member
- 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
-
25-09-2004, 20:07 #5
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.Admin @ Futuremark Forumsno votes
-
25-09-2004, 20:10 #6Member
- 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
-
25-09-2004, 20:20 #7Member
- Registered
- 21/07/02
- Location
- Antwerpen
- Posts
- 116
- iTrader
- 0
- Mentioned
- 0 Post(s)
Shitterend!
Werkt perfect. Hartelijk dank!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);
?>no votes
-
26-09-2004, 23:44 #8Member
- 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
