login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Mensen laten downloaden

Offline ikki007 - 02/03/2008 11:33
Avatar van ikki007Gouden medailleGouden medaille

PHP ver gevorderde
Hallo,

Ik heb nu een photo-stock systeem geschreven.
Nu wil ik er een downloadknop onder dat mensen een downloadscherm krijgen om het plaatje te downloaden.

Als ik hem gewoon naar het plaatje laat gaan (die link) laat die hem natuurlijk gewoon in de browser zien.
Maar ik wil dat die een downloadscherm tevoorschijn haalt net zoals je een *.exe aanklikt, alleen dan voor *.jpg e.d.

Hoe?  

~ikki

4 antwoorden

Gesponsorde links
Offline yetti4 - 02/03/2008 11:54
Avatar van yetti4 JS interesse volgens mij kan het niet hoor, als de plaatje alleen tevoorschijn komt, ik denk niet dat je visitors niet achter komen dat ze op "save picture" moeten klikken 
Offline glenn2009 - 02/03/2008 11:54 (laatste wijziging 02/03/2008 11:58)
Avatar van glenn2009 Nieuw lid bedoelde een header...
  1. header('Content-Disposition: attachment; filename="downloaded.pdf"');
Offline ikki007 - 02/03/2008 12:16
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
Hmm, en dat is dan alleen voor downloaded.pdf.
Aangezien het hier om een stock-site gaat dus duizenden foto's zal ik voor elke foto apart die header moeten genereren?  
Offline Grayen - 02/03/2008 12:24
Avatar van Grayen PHP ver gevorderde Kan worden gedaan met een simpele functie:

  1. function download($sFile, $sMime, $mContents = false)
  2. {
  3. header('pragma: public');
  4. header('expires: 0');
  5. header('cache-control: must-revalidate, post-check = 0, pre-check = 0');
  6. header('cache-control: public');
  7. header('content-type: '.$sMime);
  8. header('content-disposition: attachment; filename = '.basename($sFile).';');
  9. header('content-transfer-encoding: binary');
  10.  
  11. if ($mContents === false)
  12. {
  13. header('content-length: '.filesize($sFile));
  14.  
  15. readfile($sFile);
  16. }
  17. else
  18. {
  19. header('content-length: '.strlen($mContents));
  20.  
  21. echo $mContents;
  22. }
  23. }
  24.  
  25. // En dan als volgt aanroepen
  26. download('locatie/van/afbeelding.jpg', 'image/jpeg');
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.198s