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 :
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
Onmogelijk mag je het niet noemen maar je dient wel zelf de beheer te hebben over de configuratie van de webserver en in dit geval praat ik over Apache.
Je kan namelijk uit de hoofd configuratie bestand (httpd.conf) deze regel verwijderen:
AddType application/x-httpd-php .php
En per virtualhost instellen, je kan dus op www.website.nl de php scripts door de parser laten gooien en op download.website.nl er voor kiezen dat php extensie's niet door de parser gaan door deze bovengenoemde regel niet te gebruiken.
@Iedereen
Onmogelijk is pas als je alles doordacht hebt en overal rekening mee hebt gehouden!
Een .php bestand downloaden van een locatie welke je opgeeft met http:// heeft geen zin, je krijgt een gegenereerde pagina terug (immers wordt de pagina al door de http server gegenereerd) exact dezelfde als je zou krijgen in je browser (dus alleen HTML als je geluk hebt).
Mocht je een bestand van je eigen server ter download willen aanbieden, dan kan dit door de relatieve locatie op te geven, dus waar het bestand staat ten opzichte van jouw download script (Stel, het staat in een map hoger en heet setup.php: @readfile('../setup.php'); )
Mocht je de broncode willen laten inzien (van een bestand wat op jouw server staat) door mensen, kopieer/hernoem het bestand dan naar een bestand wat de extensie .phps heeft.
Wat Cartman bedoelt is dat downloadlocatie.nl, mocht het zijn PHP broncode ter download willen aanbieden, het expliciet niet moet laten parsen door zijn PHP parser, dit is een instelling die je niet van "buitenaf" kunt beïnvloeden, en de eigenaren van downloadlocatie.nl zouden er dan dus voor moeten zorgen dat hun webserver de broncode verstuurt i.p.v. de geparste code,[edit]
Danny Roelofs hierboven vult mij hier goed aan
[/edit] indien downloadlocatie.nl dit zou doen, dan voegt jouw script daar weinig aan toe en kun je mensen beter direct laten linken naar downloadlocatie.nl.
Hopelijk helpen we je niet van de wal in de sloot, en begrijp je ons een beetje ;)