Ik heb een .php file en die wil ik ter download aanbieden. Dus als iemand op een link klikt dat de bezoeker dan een popupje krijgt en kan kiezen Opslaan als of Openen.

Hoe krijg ik dit voor elkaar ? Ik probeerde het volgende, maar dan krijg ik een bestand ter download waar een PHP error in zit :

<?
header("Content-type: Application/octet-stream");
header("Content-Disposition: attachment; filename=bestand.php");
@readfile("http://www.downloadlocatie.nl/bestand.php";);
?>


Het bestand download ik dan maar die bevat niet de PHP code maar de output errors :

<br />
<b>Warning</b>: include(setup.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in .... etc
regel 4:

Je kan geen extern PHP bestand downloaden.
Tuurlijk wel, als je maar de juiste headers meegeeft. Als downloadlocatie.nl die ook meegeeft, kan het gewoon ;)
Dan zou dus iemand jou complete broncode kunnen downloaden?
Ja, is toch niet erg? Als jij een klasse wilt delen.
Cartman, je kan geen externe php broncode downloaden...

Anders download ik even de config van jou website, en gooi ik je complete database leeg....
.phps, dan geeft hij de code, dus waarom zou je dan niet dat bestand kunnen downloaden?
ik denk idd dat .phps de makkelijkste oplossing is ;)

dan is het enige wat de gebruiker moet doen ff CTRL-a Ctrl-c Ctrl-v ;)
zippen is een moglijkheid, of een phps, zo doe ik het ook altijd.
Zijn eigen oplossing is een prima mogelijkheid, alleen werkte deze methode niet, er zat een fout in.

Hij vraagt dus hoe het opgelost kan worden, dus ik vertel hem dat hierboven:

"Je kunt geen externe php bestanden downloaden"

Vervolgens komt er iemand aan die zegt dat het wel kan, maar het kan echt niet, anders kun je even de config van een site afhalen, en dan de site hacken.

En daarna komen mensen met allemaal oplossingen die nergens toe doen, want wat je dan doet, is het script laten zien, terwijl er toch duidelijk staat dat hij het bestand wil laten downloaden...
Amen PHP Newbie. Je hebt helemaal gelijk. Het is onmogelijk. Als het mogelijk zou zijn dan zou ik geen werk meer hebben denk ik.

Dus als het je eigen site is: gebruik relatieve paths, dus geen URL's. Als het je eigen site is maar toch extern: bied .phps (php-source) aan. Als het niet van jou is: accepteer dat het niet kan.

@Iedereen
Als je niet weet waar je over praat (hoi Cartman), reageer dan aub niet.

@Iedereen
Luister ook effe naar PHP Newbie want hij heeft duidelijk soms wat nuttigs te melden.

Reageren