Dirk: PHP Imagick: Bild wird als html gespeichert

Beitrag lesen

Moin, ich lese schon einige Zeit mit. Leider kann ich kaum helfen, hier sind so viele Profis, mein Fachwissen reicht da nicht aus. Nun habe ich eine Frage, bei der ich hilflos bin: Ich entwickel für uns ein Tagebuch (html, js, php), ganz klassisch. A uf einer Indexseite werden die Einträge angezeigt die im Adminbereich erstellt werden können. Im Adminbereich kann ich auch Bilder (jpg, png), Dokumente (pdf) und Videos(mp4) hochladen und als Thunbnails verkleinern. Das klappt mit Bildern und Videos sehr gut, nur nicht mit pdf-Dateien. Ich habe ein php-Script, das nimmt sich die erste Seite vom Dokument, skaliert sie und speichert sie als png-Bild.

 // PDF: Erste Seite rendern, wenn Imagick vorhanden
    if ($extension === 'pdf' && class_exists('Imagick')) {
        try {     		
        		$site = 0;// erste Seite
        		$fileName = pathinfo($sourcePath, PATHINFO_FILENAME) .'.png';
        		$targetPath = $this->thumbDir . $fileName;
            $imagick = new Imagick();
            $imagick->setResolution(200, 200);
            $imagick->readImage($sourcePath .'['. $site .']');   
            $imagick->setImageFormat('png');          
            $imagick->thumbnailImage(200, 0);                             
            $imagick->writeImage($targetPath);
            $imagick->clear();
            $imagick->destroy();
            return true;);
        } catch (Exception $e) {
        	$_SESSION['msg'] = 'pdf-Vorschau erstellen fehlgeschlagen: ' . $e;
            return false;
        }
    }

Das Script wird ausgedührt, die Datei wird erstellt ($sourcePath, $targetPath sind ok), kann aber von der Indexseite nicht angezeigt werden. In firefox -> Netzwerkanalyse steht: test.png -> Initiator: img -> Typ: html (und der muss ja png sein). Ich habe natürlich schon Einiges gelesen und versucht, komme aber zu keiner Lösung. Vielleicht hat hier jemand eine Idee und zeigt mir eine Lösungsmöglichkeit.

Gruss Dirk