PHP script not working GD Library installed

两盒软妹~` 提交于 2019-12-13 04:33:44

问题


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);

?>

回答1:


How big is the image you're trying to resize? Looks like it's complaining about running out of memory?

Try allocating more memory.

You can try adding this at the very top of the page: ini_set('memory_limit', '512M'); ...and see if it works.




回答2:


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



来源:https://stackoverflow.com/questions/19817599/php-script-not-working-gd-library-installed

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!