webForumDet fria alternativet

fopen() .pdf-fil funkar inte

PHP

5 svar · 238 visningar · startad av Tinwëlint

Medlem sedan maj 2004451 inlägg
Frågan#1

Jag tänkte ladda .pdf-filer genom en form med en selectbox.
Jag använder efter att postat formen fopen enligt följande:

fopen("http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "dokument/" . $_POST['protokoll'] . ".pdf", r);

Sökvägen blir rätt (har kollat genom ett echo med samma parameter) men filen laddas inte. Fopen kanske är helt fel att använda. Hoppas någon vet.

Medlem sedan okt. 2001538 inlägg
#2

Hur menar du med att du vill ladda en pdf-fil?

En besökare slänger in någon form av val i ditt formulär, och sedan skall vad hända? Skall användaren få upp en nedladdningsruta så att pdf-filen antingen kan öppnas eller laddas ned eller vad vill du göra? För iofs har jag aldrig provat, men att öppna en pdf-fil för läsning, och sedan slänga ut datan direkt på sidan... det vet jag inte om det går...

MVH Patrik

Medlem sedan maj 2004451 inlägg
#3

Webbläsaren ska uppföra sig på samma sätt som den gör om man skulle skriva in sökvägen till pdf-filen i adressraden.

Medlem sedan aug. 20002 975 inlägg
#4

Är allow_url_fopen satt på servern ?
Ligger filen på annan server, eller varför använder du en URL ?
Är det en Windows-server (m.fl.) så ska du istället för 'r' använda 'rb'.

Du kan också ta en titt på readfile.

Medlem sedan mars 20025 907 inlägg
#5
$filename = "dokument/" . $_POST['protokoll'] . ".pdf";
$len = filesize($filename);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=foo.pdf");
readfile($filename);

ctrl + c, ctrl + v från manualen.

Kanske?

Medlem sedan maj 2004451 inlägg
#6

Det där fungerade inte helt bra. Jag provade att byta disposition till attachment och då fungerade det bra i Opera och FF men inte i IE.
Hursomhelst är det ju ändå inline jag vill ha.
Läste (här: http://se2.php.net/header) att IE behöver kunna cacha filen för att kunna använda inline. Det är kanske också värt att tänka på. Vad krångligt det ska vara.

267 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)