PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Download pdf geht ab 2MB nicht mehr


Tikiwiki
30.12.2005, 08:31:09
Hi zusammen

noch fast am Ende des Jahres hätte ich da noch eine Frage an Euch.
Gestern hat ein Kollege beim Testen meiner Applikation einen Fehler entdeckt worauf ich keine Lösung habe, da auf meinen Rechner dies funktioniert (Win XP).

Folgendes: pdf-Dateien werden als Download zur Verfügung gestellt. Dies funktioniert auch tadellos.
Problem: wenn eine pdf-Datei größer als 2 MB ist gibt es eine Fehlermeldung das die Datei defekt ist und nicht repariert werden kann. Wird also nicht angezeigt. Alles unter dieser Grenze wird problemlos angezeigt.
Dieses Verhalten ist im IE, Netscape, Firefox gleich und die Testrechner laufen unter Win2000 und einer fährt unter Linux.

Frage: Gibt es irgendwo ein Limit das ich ändern muss?

Was habe ich mal versucht:
1. Forumsuche application/pdf. Problem gibt es aber keine Lösung in Beiträgen gefunden.
2. php.ini durchsucht. Da find ich aber keine geeignete Einstellung
3. im php-Code verschiedene Änderungen vorgenommen. Ohne Erfolg
4. Optionen in den Browsern nachgesehen. Aber da wurde ich auch nicht fündig.
Naja jetzt bin ich mit meinem Latein am Ende.

Hoffe Ihr könnt mir einen Tip geben woran es liegen könnte.
Danke und schönes neues Jahr Euch allen.

Dietmar

xabbuh
30.12.2005, 14:02:42
Mit welchem Code stellst du die PDF-Dateien als Download zur Verfügung?

Tikiwiki
02.01.2006, 09:53:52
Guten morgen und schönes neues Jahr,

erstmals danke für die Antwort und ich möchte mal noch was klarstellen oder ergänzen. Der Webserver läuft unter Apache.

So hier mal der Code wie ich den Download zur Verfügung stelle.

<?php
$download = $_GET['download'];

$basedir = "\F1";

$meinfile = $basedir .$download;

$filename = sprintf("%s\%s", $basedir, $download);

header("Content-Type: application/pdf");
header("Cache-Control: no-store, no-cache, must-revaldate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
readfile($filename);
?>

Habe auch eine Funktion unter readfile() im php-Handbuch gefunden. Diese nennt sich readfile_chunked und ich ein Zusatzkommentar. Ob das die Lösung bringt und ob ich auf dem richtigen Weg bin weis ich noch nicht. Werde ich noch prüfen, wenn mein Alkoholpegel unter die Marke 2 gesunken ist :-)

So jetzt leg ich mal kurz die Füsse hoch und nehm ein Aspirin.

LG
Dietmar

Tikiwiki
02.01.2006, 12:03:48
Hallo Gemeinde,

zum Feedback so wie ich es nun gelöst habe:

also wie schon angedeutet habe ich nun den Tip aus dem php-Handbuch (Beitrag von flobee) siehe hier (http://at.php.net/readfile) umgesetzt und es klappt. *Freude*

Ich danke Euch und schönen Tag
Dietmar