我有一个检查php exif图像方向的功能:
$image = imagecreatefromstring(file_get_contents($_FILES['imagem']['tmp_name']));
$exif = exif_read_data($_FILES['imagem']['tmp_name']);
if(!empty($exif['Orientation'])) {
switch($exif['Orientation']) {
case 8:
$image = imagerotate($image,90,0);
break;
case 3:
$image = imagerotate($image,180,0);
break;
case 6:
$image = imagerotate($image,-90,0);
break;
}
$_FILES['imagem']['tmp_name'] = $image; // what to do here?
}
我想做的是让文件用户上传并以正确的方向覆盖它,然后再进行一些上传测试。 我尝试过
$_FILES['imagem']['tmp_name'] = $image;
,但它之后没有上传图像。有什么想法吗?
答案 0 :(得分:1)
$_FILES['imagem']['tmp_name']
是一个字符串变量,包含文件的路径。
$image
是gd resource
。
您需要指示PHP将资源作为一种特定的图像格式写入文件位置。例如,as a JPEG:
imagejpeg($image, $_FILES['imagem']['tmp_name']);