doulubashang6936 2013-11-06 16:37
浏览 101
已采纳

PHP脚本无法正常安装GD库

Below is my resize.php script. I needed to install the GD Library and did so but I am still having trouble gettint the image to process like it used to my old server.HERE You can see with the error reporting on there is an empty image created and the following errors display:

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

What is going wrong? PLEASE HELP!

<?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条回答 默认 最新

  • douhuangjie4503 2013-11-07 19:39
    关注

    Figured it out! I had a space before the initial <?php opening tag which caused the error! AH! sorry for being a noob!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?