downloaden bestand

Status
Niet open voor verdere reacties.

eric2001

Terugkerende gebruiker
Lid geworden
23 mrt 2001
Berichten
1.600
Hallo,

Ik weet niet meer hoe de code was.

Ik wil een knop, waarmee een pdf-bestand van de website gedownload kan worden.
Wie weet de code?

bvd
Eric
 
je kan deze code gebruiken

Code:
<a href="test.pdf">HOI</a>

Dit is een tekst knop.

weet niet of dit is wat je bedoeld of dat je echt een knop wilt hebben
 
feint,

Die knop is niet zo belangrijk, maar meer hoe ik de lokatie van het bestand opgeef,
bijvoorbeeld op de server in ../bestanden/test.pdf
Of geef ik dat zo op?

Eric
 
als je bestanden wil downloaden heb je 2 opties. of je zet die bestanden in dezelfde map als de website file. dan hoef je alleen maar de bestands naam op te geven. of je zet hem in een aparte map in de map waar de website in staat en dan moet je /bestandmap/bestandsnaam
 
Thanx feint,

Ik ga ermee aan de slag.

Eric
 
Als je graag een knop wilt, kun je ook het volgende doen:

HTML:
<a href="bestanden/test.pdf">
     <button>
          Download
     </button>
</a>
 
Hi,
Het gaat hier niet goed. Als ik de knop aanklik, (lokaal testen) dan opent het pdf-bestand automatisch, terwijl ik wil dat hij door de "klant" gedownload wordt, om later makkelijk te kunnen bekijken.
Is hier een oplossing voor.
Ik heb het niet op de server geprobeerd.

Eric
 
dit is omdat het client side it. omdat je hem opend vanaf een computer hoeft die het bestand niet te downloaden omdat die direct acces heeft op het bestand. als je het upload naar een server moet die het via server side regelen en kan die het bestand niet direct openen en moet die dus het bestand downloaden
 
Als je het bestand op de server zet, zal hij het pdf-je ook gewoon openen. Daar is geen verschil tussen client-side en server-side.


Ik begrijp dat je niet wilt dat de PDF opent, maar dat de gebruiker meteen de mogelijkheid krijgt om het bestand op te slaan?

Dan zou je deze code eens kunnen proberen:

PHP:
<?php
// De eerste regel geeft aan dat er een PDF meegestuurd wordt
header('Content-type: application/pdf');

// De tweede regel geeft de locatie van het bestand aan.
header('Content-Disposition: attachment; filename="bestand.pdf/"');
?>

Gebruik van PHP is in dit geval dus wel een vereiste. Met slechts HTML krijg je dit niet voor elkaar. Daar zal altijd het programma dat aan .pdf gekoppeld is (waarschijnlijk Adobe Reader) het bestand openen.
 
Laatst bewerkt:
Erik

Ik weet niet veel van php, maar php wordt wel ondersteund.
Kan ik dit dan gewoon overnemen, of werkt het dan niet?

Eric
 
Je kunt deze code gewoon overnemen,

Je plaatst het in een bestand, slaat het op al *watjemaarwilt*.php en plaatst het op de server.

Ik zal het nog even iets voor je aanpassen:

PHP:
<?php
// De eerste regel geeft aan dat er een PDF meegestuurd wordt
header('Content-type: application/pdf');

// De tweede regel geeft de locatie van het bestand aan.
header('Content-Disposition: attachment; filename="' . $_GET['file'] . '"');

// De derder regel geeft de inhoud van het bestand weer.
readfile($_GET['file'])
?>

Als je het nou opslaat als download.php .

En je wilt bijvoorbeeld factuur.pdf downloaden en factuur.pdf staat in dezelfde map, dan maak je de volgende link:

HTML:
<a href="download.php?file=factuur.pdf">Download</a>

En je kunt ook door je folders bladeren:

HTML:
<a href="download.php?file=facturen/factuur.pdf">Download</a>

HTML:
<a href="download.php?file=../facturen/factuur.pdf">Download</a>

Enzovoorts. Het belangrijkste hier is dat je het pad vanaf het .php bestand naar je .pdf goed hebt. Dan moet het gewoon werken. Maar dat is in principe hetzelfde pad als wanneer je een gewone link maakt.

Eventueel kun je ook doen:

HTML:
<a href="download.php?file=factuur.pdf"><button>Download</button></a>
Vind ik zelf mooier!
 
Laatst bewerkt:
Hi Erik
Hartstikke bedankt voor je antwoord. Ik begrijp hier ook uit dat je php kan gebruiken zoals je een java-script gebruikt.
Dit biedt perspectieven (als dat zo is)
Ik ga hier mee stoeien en laat het je weten hoe het gaat.
Grtz
Eric
 
Ik begrijp niet precies wat je bedoeld met:

Ik begrijp hier ook uit dat je php kan gebruiken zoals je een java-script gebruikt.

maar dat leg je me vast ooit nog eens uit. Het is mooi dat je m'n scriptje waardeert!

Ik hoor wel of het gelukt is!
 
Erik
Wat ik hiermee bedoel is dat je het net zo gebruikt als Java met
<script language="javascript">, maar dan <?php
Dus dat je verder helemaal nix nodig hebt.
Eric
 
In principe heb je verder niks nodig nee, maar wel een server die PHP ondersteunt.

Daar heb je wel gelijk in.
 
Is 't al gelukt met 't script? Of ben je er nog niet mee bezig geweest?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan