Credo che ciò che Schneck ha significato è:
header('Content-Type: '.$mime_type);
$fp = fopen('php://stdout', 'w+');
$image->writeImageFile($fp);
fclose($fp);
Questo può causare problemi, soprattutto nelle file di più, così si dovrebbe probabilmente utilizzare:
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;
Questo è testato e funziona ing.
Mi rendo conto che questa è una vecchia domanda. Il motivo per cui sto postando questo è che se vuoi scrivere un PDF multipagina, questa è la soluzione, poiché la soluzione di Nabab funziona solo per immagini singole.
È anche possibile utilizzare (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;
In questo modo sembra essere più veloce se la vostra versione di PHP lo supporta.
Prima del downvot, il motivo per cui ho aggiunto questo come risposta e non un commento è che non ho sufficiente reputazione per commentare. Spero che vada bene. Volevo solo ottenere questo là nel caso in cui qualcuno ne avesse bisogno.
Come illustrato nell'esempio n. 1: http://es2.php.net/manual/en/imagick.examples-1.php –
Vorrei andare con 'header ('Content-Type: image /'.$ img- > getImageFormat()); '- ma per il resto molto bello :) – gnud
Sì, è meglio :) – Nabab