Chrome“卸载”图片?

时间:2012-04-30 21:25:29

标签: php google-chrome resize

我正在编写一个PHP脚本来动态调整图像大小。图像ID(来自MySQL数据库)传递方式如下:“http://localhost/getimage/1.htm”。

当我使用上面的URL直接进入scrippt时,图像完全吐出来。但出于某种原因(仅限Chrome),当我将该URL链接到标签时,它开始表现得很奇怪。当页面首次加载时,图像加载正常,但加载条旋转约5秒钟,图像突然消失,Chrome显示“无法加载资源”错误。

有没有人知道可能导致这种情况的原因,如果是,如何阻止它?我认为它可能与AdBlocker有关,但是我已经禁用了它并且它正在发生。

干杯。

编辑:这是我正在使用的代码:

    header('Content-Type:'.$file['type']);
    header('Content-Length: ' . $file['bytes']);

    // Get size of original image
    list($o_width, $o_height) = getimagesize($file['src']);

    // Default width and height
    if (is_null($width)) {
        $width = $o_width;
    }

    if (is_null($height)) {
        $height = $width;
    }

    // Create image frame
    $image_p = imagecreatetruecolor($width, $height);

    // Generate image depending on source type
    switch ($file['type']) {
        case "image/jpeg":
        default:
            $image = imagecreatefromjpeg($file['src']);
            break;
        case "image/gif":
            $image = imagecreatefromgif($file['src']);
            break;
        case "image/png":
            $image = imagecreatefrompng($file['src']);
            break;
    }

    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $o_width, $o_height);

    // Output
    imagejpeg($image_p, null, 100);
    exit;

如您所见,我正在设置内容类型。如果它是htm扩展,令人困惑,它会解释为什么图像正确加载,然后自行卸载吗?

1 个答案:

答案 0 :(得分:1)

这不仅仅是Chrome,但恕我直言,你在开头有这个是错误的:标题('Content-Length:'。$ file ['bytes']);因为您不知道实际的文件大小,因为您使用imagejpeg($ image_p,null,100)动态创建图像;尝试评论标题('Content-Length ...行,它可能会修复它。