Hallo,

ik heb onderstaande code op het php.net gevonden.
Door gebruik te maken van Content-Disposition wordt het browser opslaan-als scherm getriggered.

Maar wanneer ik deze regel blok dan wordt niet de inhoud van het tekst bestand getoond, maar komt alsnog het opslaan-als scherm.

Wat doe ik hier fout?


<?php

$naam="tekst.txt";

$mm_type="application/octet-stream";

header("Cache-Control: public, must-revalidate");
header("Pragma: hack");
header("Content-Type: " . $mm_type);
header("Content-Length: " .(string)(filesize($naam)) );
//header('Content-Disposition: attachment; filename="'.basename($naam).'"');
header("Content-Transfer-Encoding: binary\n");

$fp = fopen($naam, 'rb');
$buffer = fread($fp, filesize($naam));
fclose ($fp);
print $buffer;

?>
Vreemd dat het bij jou niet werkt.

Ik heb net getest op een computer met XPpro en IE6 en daarin verschijnt de tekst gewoon in de browser.

Zet ik Content-Disposition weer aan dan verschijnt zoals het hoort weer het opslaan-als scherm.

hmm,

toch zou ik persoonlijk kiezen voor de andere optie die ik aandroeg:

gewoon de headers weglaten (=normal behaviour) voor browsers :)

Je hebt helemaal gelijk wanneer het alleen maar om tekstbestanden gaat.
Ik houdt het header script achter de hand voor andere bestandstypen.

Bedankt...

Reageren