pdf file wil niet openen op juiste wijze
Deze zijn aan te klikken op mijn site. Na klikken erop
moet acrobat reader openen om de inhoud in te zien.
Maar komt nu elke keer met een index directory.
Wat ik wil is eigenlijk dat bij het klikken op de naam
buiten de site om, acrobat reader opstart met de
gekozen bestandsnaam.
Moet ik ergens een connectie maken o.i.d.
Laat je php/html code eens zien waarbij de PDF link wordt gegenereerd...
$file zijn de de pdf-files.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
while($data = mysql_fetch_assoc($query))
{
$bid=$data['id'];
$omschrijving = stripslashes( $data['omschrijving'] );
$file = stripslashes($data['filenaam']);
$datum = $data['datum'];
$i++;
echo '<tr>'.PHP_EOL;
echo '<rij>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $i. ")".PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="vast30">'.PHP_EOL;
echo $datum.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="vast30">'.PHP_EOL;
echo $omschrijving.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
//echo $file.PHP_EOL;
echo '<A HREF="../folders">'.$file.'</A>'.PHP_EOL;
//echo '<a href= "probeersel/berichten/folders/'.$file.'</a>"'.PHP_EOL;
echo '</td>'.PHP_EOL;
{
$bid=$data['id'];
$omschrijving = stripslashes( $data['omschrijving'] );
$file = stripslashes($data['filenaam']);
$datum = $data['datum'];
$i++;
echo '<tr>'.PHP_EOL;
echo '<rij>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
echo $i. ")".PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="vast30">'.PHP_EOL;
echo $datum.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="vast30">'.PHP_EOL;
echo $omschrijving.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td class="formleft">'.PHP_EOL;
//echo $file.PHP_EOL;
echo '<A HREF="../folders">'.$file.'</A>'.PHP_EOL;
//echo '<a href= "probeersel/berichten/folders/'.$file.'</a>"'.PHP_EOL;
echo '</td>'.PHP_EOL;
Daarbij komt nog dat de gebruiker zelf kan instellen hoe het moet gebeuren.
Maar waar je vraag basically op neerkomt, is een "force download" script. (Google "php force download" voor meer documentatie).
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$file = "pdf_document.pdf"; // het juiste pad niet vergeten. Jij moet dus zien voor een systeem om de juiste file te kiezen...
if (!empty($_GET['download'])) {
if (is_file($file)) {
header('Content-disposition: attachment; filename=' . $file); // dit kan misschien problemen geven als er vreemde tekens in de bestandnaam staan
header('Content-type: application/pdf');
readfile($file);
}
}
else {
echo 'bla bla ... to download file, click <a href="?download=1">here</a>';
}
?>
$file = "pdf_document.pdf"; // het juiste pad niet vergeten. Jij moet dus zien voor een systeem om de juiste file te kiezen...
if (!empty($_GET['download'])) {
if (is_file($file)) {
header('Content-disposition: attachment; filename=' . $file); // dit kan misschien problemen geven als er vreemde tekens in de bestandnaam staan
header('Content-type: application/pdf');
readfile($file);
}
}
else {
echo 'bla bla ... to download file, click <a href="?download=1">here</a>';
}
?>
hetscript.php?download=../../databaseconfig.php en ik krijg databaseconfig.php als pdf binnen. Openene in kladblok en ik kan het gewoon lezen.
Oftewel zorg voor je beveiliging
enkel maar een "?download=1" om aan te geven: nu downloaden
en commentaar waarin ik zeg dat ze zelf moeten zien hoe ze aan de juiste file komen (bv. op basis van een $_GET['id'] de juiste bestandsnaam uit een DB lezen)
Gewijzigd op 28/11/2012 17:19:05 door Kris Peeters
@Kris, ik heb inderdaad niet goed gekeken. Sorry
maar krijg steeds foutmelding dat het niet een supported file is
of damage is of bijv. een email attachment en niet juist
gecodeerd is.
I.p.v. attachment heb ik ook inline geprobeerd maar dat werkt ook niet.
Met openen in acrobat reader wordt het bestand wel geopend.
Ik gebruik om een Word-document om te zetten naar een pdf file
het programma PDFCreator 1.6
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
} elseif ( isset ($_GET['p']) && $_GET['p'] == "download") {
$filetitel = $_GET['file']; // het juiste pad niet vergeten. Jij moet dus zien voor een systeem om de juiste file te kiezen...
if (!empty($_GET['download'])) {
if (is_file("folders/".$filetitel)) {
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename='.$filetitel); // dit kan misschien problemen geven als er vreemde tekens in de bestandnaam staan
readfile($filetitel);
}
}
}else {
echo 'bla bla ... to download file, click <a href="?download=1">here</a>';
}
$filetitel = $_GET['file']; // het juiste pad niet vergeten. Jij moet dus zien voor een systeem om de juiste file te kiezen...
if (!empty($_GET['download'])) {
if (is_file("folders/".$filetitel)) {
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename='.$filetitel); // dit kan misschien problemen geven als er vreemde tekens in de bestandnaam staan
readfile($filetitel);
}
}
}else {
echo 'bla bla ... to download file, click <a href="?download=1">here</a>';
}
Gewijzigd op 30/11/2012 09:56:15 door Willem L
Dan opent hij hem altijd en hoef je geen zorgen te maken wat welke browser doet, en hoe mensen het zelf hebben ingestelt. Zet op die view_pdf.php gewoon een Back/Terug link of open de link in een nieuw venster/tabblad.
Dan hoef je niets te 'forceren' of te verplichten om te downloaden.
Dat kan ook een mogelijkheid zijn.
Maar ben nu zover dat er al wat gebeurt
maar wel de melding
Warning: Cannot modify header information - headers already sent by (output started
ben nu zoekende, maar is naar mijn mening
voor mij even te hoog gegrepen. Zie door de
bomen even het bos niet meer.
kijk even www.wasbuytenwegh-deleyens.nl
dan berichten en dan november, klik op de pdf file
dan zie wat er gebeurt. haha
ik ben niet zeker van mijn zaak maar wat als je je pdf file in een iframe laad? ik doe dat wel altijd als ik een pdf ergens inlaad en hem in de pagina wil hebben. ik maak alleen wel gebruik van fpdf, en dat is iets anders dan een pdf inlezen.