Beste iedereen,
Ik zocht net op dit forum titel dus denk die ga ik gebruiken, aangezien ik niks via Google vond en ook niks in het forum hier.
Ik heb een script gemaakt die PDF bestanden genereert (facturen in een leuke opmaak). Wanneer ik die vervolgens weer wil aanroepen via PHP, via <a href="../<naam_uit_database>.php">linkje</a>, dan roept hij dus een bestand aan vanaf de server (dus niet vanuit de database).. Het moet via een PHP bestand omdat ik de facturen opsla in een directory vóór de 'www' directory. Deze zijn dus niet zonder PHP bestand aan te roepen en dat wil ik ook niet..
Wanneer ik de download pop-up dan krijg, dan roept hij bijvoorbeeld een pdf bestand aan (zoals: F.05.0085.pdf).. Dat staat voor: Factuur 2005 nr. 0085. Het enige nadeel is, is dat wanneer ik 'openen' kies in plaats van 'opslaan', dat hij dan 'F[1].05.0085.pdf' probeert te openen, waarna hij een error geeft dat het bestand niet kan worden gevonden. Wel logisch, want F[1].05.0085.pdf staat niet op de server, maar F.05.0085.pdf (zonder [1]) wel.
Nu vroeg ik me af of dit ook op te lossen is en of iemand hier ervaring mee heeft. Ik vermoed dat het een browser probleem van I.E. is aangezien FireFox het wel goed doet. Het is geen cache probleem want bij nieuw aangemaakte facturen doet hij het ook.
Om mijn verhaal zo duidelijk mogelijk te maken, hier het script wat wordt gebruikt:
Ik zocht net op dit forum titel dus denk die ga ik gebruiken, aangezien ik niks via Google vond en ook niks in het forum hier.
Ik heb een script gemaakt die PDF bestanden genereert (facturen in een leuke opmaak). Wanneer ik die vervolgens weer wil aanroepen via PHP, via <a href="../<naam_uit_database>.php">linkje</a>, dan roept hij dus een bestand aan vanaf de server (dus niet vanuit de database).. Het moet via een PHP bestand omdat ik de facturen opsla in een directory vóór de 'www' directory. Deze zijn dus niet zonder PHP bestand aan te roepen en dat wil ik ook niet..
Wanneer ik de download pop-up dan krijg, dan roept hij bijvoorbeeld een pdf bestand aan (zoals: F.05.0085.pdf).. Dat staat voor: Factuur 2005 nr. 0085. Het enige nadeel is, is dat wanneer ik 'openen' kies in plaats van 'opslaan', dat hij dan 'F[1].05.0085.pdf' probeert te openen, waarna hij een error geeft dat het bestand niet kan worden gevonden. Wel logisch, want F[1].05.0085.pdf staat niet op de server, maar F.05.0085.pdf (zonder [1]) wel.
Nu vroeg ik me af of dit ook op te lossen is en of iemand hier ervaring mee heeft. Ik vermoed dat het een browser probleem van I.E. is aangezien FireFox het wel goed doet. Het is geen cache probleem want bij nieuw aangemaakte facturen doet hij het ook.
Om mijn verhaal zo duidelijk mogelijk te maken, hier het script wat wordt gebruikt:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <? $file = $type.".".$jaar.".".$id.".pdf"; if(ob_get_contents()) die('Some data has already been output, can\'t send PDF file'); if(isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')) header('Content-Type: application/force-download'); else header('Content-Type: application/octet-stream'); if(headers_sent()) die('Some data has already been output to browser, can\'t send PDF file'); header('Content-disposition: attachment; filename="'.$type.'.'.$jaar.'.'.$id.'.pdf"'); include($dir.$file); ?> |
Zenda likes some milk every now and then..