wierzę co Schneck oznaczało to:
header('Content-Type: '.$mime_type);
$fp = fopen('php://stdout', 'w+');
$image->writeImageFile($fp);
fclose($fp);
Ten może powodować problemy, zwłaszcza w plikach wielostronicowych, więc prawdopodobnie powinny użyj:
ob_start();
$fp = fopen('php://output', 'w+');
$image->writeimagefile($fp); // or writeImagesFile for multipage PDF
fclose($fp);
$out = ob_get_clean();
header('Content-Length: '.strlen($out));
echo $out;
To jest testowane i działa ing.
Zdaję sobie sprawę, że to stare pytanie. Powodem, dla którego to publikuję, jest to, że jeśli chcesz napisać wielostronicowy plik PDF, jest to rozwiązanie, ponieważ rozwiązanie Nababa działa tylko w przypadku pojedynczych obrazów.
Można również użyć (PHP 5.1.0+):
$fp = fopen('php://temp', 'r+');
$image->writeimagesfile($fp);
rewind($fp);
$out = stream_get_contents($fp);
header('Content-Length: '.strlen($out));
fclose($fp);
echo $out;
ten sposób wydaje się być szybciej, jeśli twoja wersja PHP obsługuje.
Przed downvote, powodem dodałem to jako odpowiedź, a nie komentarz, to nie mam wystarczającej reputacji uwag. Mam nadzieję, że jest w porządku. Po prostu chciałem to wydać na wypadek, gdyby ktoś go potrzebował.
Jak pokazano w przykładzie nr 1: http://es2.php.net/manual/en/imagick.examples-1.php –
Poszedłbym z 'nagłówkiem ('Content-Type: image /'.$ img- > getImageFormat()); '- ale poza tym bardzo ładne :) – gnud
Tak, to lepiej :) – Nabab