我有一個PHP腳本,如果用戶上傳的圖像文件不是.png圖像,它將使用Imagemagick將其轉換爲.png,然後將其保存爲服務器。但是它只能使用HTML表單中的.tmp文件,所以它必須轉換CONTENTS,同時保持.tmp(及其文件名)完整。這是到目前爲止我的代碼:如何將.tmp文件的內容轉換爲PNG
if (exif_imagetype($tmpName) != IMAGETYPE_PNG) {
$uploadOk = 0; // don't upload later
$im = new Imagick("$tmpName");
$im->setImageFormat("png");
file_put_contents($tmpName, '');
file_put_contents(file_get_contents($im), $tmpName);
if (exif_imagetype($tmpName) != IMAGETYPE_PNG) { //check again
// try again or throw error somehow?
} else {
$uploadOk = 1;
}
} else {
$uploadOk = 1;
}
如何正確使用Imagick到我的臨時文件的內容轉換成原始(非PNG)圖像的PNG版本?
編輯:它也可能是腳本應該正常工作,並且問題是完全不同的。不確定在這一點上。
我感到困惑的問題是什麼。這裏的代碼是否工作?如果不是,它是做什麼的?你期望它做什麼? – Mike