我有一个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