Ich hoffe, dass ich versuchen kann, einen kleinen Bildkonverter zu erstellen, der HEIC-Dateien, die in ein PHP-Webdokument hochgeladen wurden, in .JPG (oder ein anderes g?ngiges Dateiformat) konvertiert.
Ich verwende PHP auf einem Unix-Server und habe ImageMagick auf dem Server installiert. Der folgende Befehlszeilencode wird auf dem Server ausgeführt:
mogrify -format jpg *.HEIC
Ich m?chte diesen Befehlszeilencode in PHP konvertieren.
Wie bereits erw?hnt, konvertiere ich gerne Befehlszeilenformatierungscode in PHP. Ich habe derzeit den folgenden Code in einer einfachen HTML + PHP-Form eingerichtet. Die zu konvertierende Datei wurde neu hochgeladen und befindet sich nicht auf dem Server. Bei Bedarf kann ich die Datei zuerst auf den Server hochladen und dann von der Serverdatei lesen.
if($_SERVER["REQUEST_METHOD"] == "POST") { if(empty($_FILES['image_url']['name'])) { echo "No File uploaded"; } else{ $uploadedImage = fopen($_FILES['image_url']['tmp_name'], 'rb'); $image_to_convert = new Imagick(); $image_to_convert->readImageFile($uploadedImage); $image_to_convert->setFormat("jpg"); $image_to_convert->setFileName('test.jpg'); header('Content-Type: image/jpg'); header('Content-disposition: attachment; filename='.$image_to_convert->getFileName()); header("Content-Description: File Transfer"); readfile($image_to_convert); } }
Dieser Code l?dt die Datei ?test.jpg“ herunter, aber wenn ich versuche, sie im Windows Image Viewer zu ?ffnen, wird die Meldung ?Wir scheinen dieses Dateiformat nicht zu unterstützen“ angezeigt. Ich bin relativ neu in PHP und kenne daher nicht alle Tricks von Ausgabe-/Eingabestreams. Wenn mein Code also schlecht ist, lassen Sie es mich bitte wissen.
Jede Hilfe ist willkommen. Danke!
我認(rèn)為您需要為格式指定“jpeg”而不是“jpg”。
$image_to_convert->setFormat("jpeg");