1

我看过其他几个类似的问题,但不幸的是,他们都没有帮助解决我遇到的问题。

这是脚本。

 <?php
    // returns a PNG graph from the $_GET['per'] variable
    $per = imagecreate(302,7);
    $background = imagecolorallocate($per, 0xFF, 0xFF, 0xFF);
    $foreground = imagecolorallocate($per, 0x00, 0x8A, 0x01);
    $border = imagecolorallocate($per, 0x99, 0x99, 0x99);
    if ($_GET['per'] > 0)
    {
        $grad = imagecreatefrompng("images/grad.png");
        $per2 = imagecopy($per, $grad, 1, 1, 0, 0, ($_GET['per'] * 3), 5);
        imagerectangle($per, 0, 0, 301, 6, $border);
    }

    header("Content-type: image/png");
    imagepng($per,NULL,5);
?>

我已经检查了 GD 支持,所以我不确定问题是什么。如果我只构建一个简单的条而不使用图像,它会正常工作,但是当我尝试使用图像构建时,它只会显示损坏图像的图片。

4

1 回答 1

1

您需要确保它per存在,否则这将引发未定义的索引错误

if ($_GET['per'] > 0)

应该是这个

if (isset($_GET['per']) && $_GET['per'] > 0)

或者如果你想确保它不为空并且存在,你可以这样做

if (!empty($_GET['per']) && $_GET['per'] > 0)

因为该empty()函数还在检查变量是否为空之前检查变量是否存在。

于 2012-11-07T00:18:47.023 回答