PHP脚本无法正常安装GD库

时间:2013-11-06 16:37:29

标签: php gd image-resizing

下面是我的resize.php脚本。我需要安装GD库并且这样做但是我仍然无法像处理旧服务器一样处理图像。HERE您可以看到错误报告,其中创建了一个空图像并且显示以下错误:

  

Warning: getimagesize(http://stackoverflow.com/questions/19817599/../wp-content/themes/Explorable/panos/Pano__0000.jpg): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/go3de/public_html/wp-content/themes/Explorable/resize.php on line 16

     

Warning: Division by zero in /home/go3de/public_html/wp-content/themes/Explorable/resize.php on line 19

     

Warning: Division by zero in /home/go3de/public_html/wp-content/themes/Explorable/resize.php on line 30

出了什么问题?请帮助!

<?php session_start();header("Pragma: public");header("Cache-Control: max-age = 604800");
header("Expires: ".gmdate("D, d M Y H:i:s", time() + 604800)." GMT");

function thumbnail($image, $width, $height) {

    if($image[0] != "/") { // Decide where to look for the image if a full path is not given
        if(!isset($_SERVER["HTTP_REFERER"])) { // Try to find image if accessed directly from this script in a browser
            $image = $_SERVER["DOCUMENT_ROOT"].implode("/", (explode('/', $_SERVER["PHP_SELF"], -1)))."/".$image;
        } else {
            $image = implode("/", (explode('/', $_SERVER["HTTP_REFERER"], -1)))."/".$image;
        }
    } else {
        $image = $_SERVER["DOCUMENT_ROOT"].$image;
    }
    $image_properties = getimagesize($image);
    $image_width = $image_properties[0];
    $image_height = $image_properties[1];
    $image_ratio = $image_width / $image_height;
    $type = $image_properties["mime"];

    if(!$width && !$height) {
        $width = $image_width;
        $height = $image_height;
    }
    if(!$width) {
        $width = round($height * $image_ratio);
    }
    if(!$height) {
        $height = round($width / $image_ratio);
    }

    if($type == "image/jpeg") {
        header('Content-type: image/jpeg');
        $thumb = imagecreatefromjpeg($image);
    } elseif($type == "image/png") {
        header('Content-type: image/png');
        $thumb = imagecreatefrompng($image);
    } else {
        return false;
    }

    $temp_image = imagecreatetruecolor($width, $height);
    imagecopyresampled($temp_image, $thumb, 0, 0, 0, 0, $width, $height, $image_width, $image_height);
    $thumbnail = imagecreatetruecolor($width, $height);
    imagecopyresampled($thumbnail, $temp_image, 0, 0, 0, 0, $width, $height, $width, $height);

    if($type == "image/jpeg") {
        imagejpeg($thumbnail);
    } else {
        imagepng($thumbnail);
    }

    imagedestroy($temp_image);
    imagedestroy($thumbnail);

}

if(isset($_GET["h"])) { $h = $_GET["h"]; } else { $h = 0; }
if(isset($_GET["w"])) { $w = $_GET["w"]; } else { $w = 0; }

thumbnail($_GET["img"], $w, $h);

?>

2 个答案:

答案 0 :(得分:1)

您尝试调整大小的图片有多大?看起来它抱怨内存不足?

尝试分配更多内存。

您可以尝试在页面顶部添加: ini_set('memory_limit','512M'); ......看看它是否有效。

答案 1 :(得分:1)

想出来!我在最初的<?php开始标记之前有一个空格,导致错误!啊!抱歉是个菜鸟!