我正在使用这段PHP代码来保存和重命名一些图像。
foreach ($phones as &$value)
{
$link_img =
$handle = @fopen($link_img, "r");
if ($handle)
{
while (!feof($handle))
{
$buffer .= fgets($handle, 4096);
}
fclose($handle);
$filename = "files/nokia_".$phone_model.".jpg";
$mystring = fopen($filename, "wb");
$handle = fopen($filename, "wb");
$numbytes = fwrite($handle, $buffer);
fclose($handle);
unset($buffer);
}
}
大多数图片都是JPG,我认为所有文件都有扩展名.jpg,但是我碰到的图片有.jpg扩展,但是它的gif(我认为),...
然后我的foreach停止了:(
如何处理?
感谢您的帮助,我在stackoverflow上学到了很多,这是我的第一个问题。
答案 0 :(得分:1)
您需要做的就是更新以下行:
$filename = "files/nokia_".$phone_model.".jpg";
要:
$filename = 'files/nokia_' . $phone_model . str_replace('jpeg', 'jpg', image_type_to_extension(exif_imagetype($link_img)));
我认为这不是你的foreach
循环停止的原因。
答案 1 :(得分:0)
使用fileinfo functions而不是猜测图像的类型。