情景:早些时候,我直接读取图像的url并将图像大小调整为4种不同的大小。但我有执行时间。现在我读取url并将其复制到临时文件夹中,并将本地临时文件夹中的图像传递给imagecreatefromjpeg()。使用php从本地临时文件中读取图像
protected static function saveImage($row,$url){
$percent = 1.0;
$imagethumbsize = 200;
$db = PJFactory::getDbo();
$details = $db->getImageDetails();
$max = sizeof($details);
$tempfilename = "C:".DS."xampp".DS."htdocs".DS."opg-uat".DS."img".DS."temp".DS.$row['CategoryID'].".jpg";
$tempcopy = copy($url,$tempfilename);
foreach ($details as $array) {
$new_width=$array[2];
$new_height=$array[3];
$newfilename = "C:".DS."xampp".DS."htdocs".DS."opg-uat".DS."img".DS."c".DS.$row['CategoryID']."-".$array[1].".jpg";
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($tempfilename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($image_p, $newfilename);
}
}
错误:图像正确保存在临时文件夹中。但是在目标文件夹中创建了所有大小的图像,但图像只显示黑色。 (没有得到实际的图像)。我猜想从本地读取文件存在一些问题。 有什么想法?
在此先感谢。
您是否正在阅读仅限JPG文件的图像? –
'$ details = $ db-> getImageDetails();'那怎么知道要检查大小的图像?另外,接下来,'var_dump($ array)'显示什么? – Steven
getImageDetails是我从db写的一个函数。有像图像需要调整大小的4个尺寸。所以这个尺寸。 – user2553381