1

我正在使用 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 学到了很多东西,这是我的第一个问题。

4

2 回答 2

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循环停止的原因。

于 2010-01-25T01:34:16.510 回答
0

使用fileinfo 函数而不是猜测图像的类型。

于 2010-01-25T01:22:32.603 回答