Archief - PHP: header download probleem

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Tyfius

Legacy Member
Situatie:
-> page header output
-> page content output
-> page footer output

Ik werk momenteel in de content en daar voorzie ik de volgende code wanneer de gebruiker een file moet downloaden die in een beschermde directory staat. Formpje gemaakt met download knoppen per file, on submit, de action van het form is dezelfde pagina, maar met isset($_POST['submit']) en dergelijke meer.
PHP:
header("HTTP/1.1 200 OK");
header("Cache-Control: public, must-revalidate");
header("Pragma: hack");
header("Content-Length: ".(string)(filesize($gf)));
header("Content-Type: application/force-download");
header('Content-Disposition: attachment; filename="'.basename($gf).'"');
header("Content-Transfer-Encoding: binary");
            
f(file_exists($gf) && $fh = fopen($gf, "rb")){
  $buffer = fread($fh, filesize($gf));
  fclose($fh);
  print $buffer;
} else {
  header("HTTP/1.1 404 Not Found");
}
Waarbij $gf het volledige pad naar het bestand is. Downloaden is geen probleem, maar onder de content van mijn file gaat die ook nog de ganse html code van die pagina outputten. Kan daar iets aan gedaan worden ?

servi

Legacy Member
gewoon zorgen dat je geen html code doorstuurt ...

een andere ( vuilere oplossing) is om exit(0) te gebruiken.

Tyfius

Legacy Member
Mja, die HTML code daar kan ik niets aan veranderen, dat zijn andere delen van het script waar ik niets mee te maken heb.
't Zal dan maar op de vuile manier moeten
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan