Toon posts:

[PHP] Output van php -> save as htm

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo.

Ik maak met PHP een aantal overzichten die gevuld worden uit een MySQL database. Dit lukt allemaal prima maaaar nu zou ik graag willen dat ik deze output ook als een .htm bestand kan opslaan. Nu zou je zeggen das niet moeilijk, gewoon in je browser "save as.." kiezen en dan slaat ie hem op. Dit is ook wel zo maar ik wil het graag hebben dat je hetzelfde kan bereiken door middel van het klikken op een link.

Ik weet dat je dan met headers aan de gang moet gaan. Ik dacht zelf aan zoiets:

header("Content-disposition: filename=overz.htm");
header("Content-type: application/octetstream");
header("Pragma: no-cache");
header("Expires: 0");

Dus dit heb ik keurig bovenin mijn script gezet alleen laat de browser nu nog wel de output zien ipv dat hij een "save as" box laat zien.

Ik heb ook al met de functie ob_start en ob_end_flush zitten spelen maar dit werkte niet.

Wie kan mijn vertellen hoe ik dit wel voor elkaar kan krijgen? Ik heb al geprobeerd:

* alle echo's te veranderen door print's
* verschillende headers die ik tijdens zoeken tegen kwam
* het verhaal met ob_start en ob_end_flush
* de search optie op tweakers >:)

maar het lukt me maar niet...

wie-o-wie heeft een tip voor mij!?

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Ik heb jouw code een klein beetje aan gepast en toen is er dit uit gekomen
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
header("Content-Type: application/unkown");
header("Content-Disposition: filename=\"overz.htm\"");
header("Content-Transfer-Encoding: binary"); 
header("Pragma: no-cache");
header("Expires: 0");

//
// Onderstaande regels mag je weg laten zijn alleen voor testen 
// anders heb ik een lege pagina :)
//
echo microtime();
phpinfo();
die();
?>

En deze pagina roep ik dan op via link.php?.htm

Programmer - an organism that turns coffee into software.


Verwijderd

Topicstarter
Op zondag 04 november 2001 17:32 schreef LuCarD het volgende:
Ik heb jouw code een klein beetje aan gepast en toen is er dit uit gekomen
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
header("Content-Type: application/unkown");
header("Content-Disposition: filename=\"overz.htm\"");
header("Content-Transfer-Encoding: binary"); 
header("Pragma: no-cache");
header("Expires: 0");

//
// Onderstaande regels mag je weg laten zijn alleen voor testen 
// anders heb ik een lege pagina :)
//
echo microtime();
phpinfo();
die();
?>

En deze pagina roep ik dan op via link.php?.htm
Thanx!:*

Het werkt perfect... alleen even om mijn nieuwsgierigheid te stillen... waarom link.php?.htm ?

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Haal maar weg en dan zie vanzelf wat er gebeurt.....

TEASER: nix :? reden geen idee.....

Programmer - an organism that turns coffee into software.


Verwijderd

Topicstarter
Op zondag 04 november 2001 19:15 schreef LuCarD het volgende:
Haal maar weg en dan zie vanzelf wat er gebeurt.....

TEASER: nix :? reden geen idee.....
Ik heb het weggehaald ja.. toen deed ie het nietmeer nee... maar nu roep ik hem zo aan:
code:
1
overz_track.php?action=save&catalog=$cata

met de volgende code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?
if ($action == "save")
{
    $date = date("d-m-Y");
    $filename = "$catalog - $date";
    header("Content-Type: application/unkown");
    header("Content-Disposition: filename=\"$filename.htm\"");
    header("Content-Transfer-Encoding: binary"); 
    header("Pragma: no-cache");
    header("Expires: 0");
}
?>

en nu doet ie het wel goed :? :?