$_GET 返回格式不正确的数值,但标准变量没有?

我正在使用一个变量来定义 PHP 图像中的颜色。有一些代码。

<?php
header ("Content-type: image/png");
ini_set('display_errors',0);

$width = 36;
$height = 24;
$handle = imagecreatetruecolor ($width,$height) or die ("Cannot Create image"); //image size

$black = 0x1c1c1c;           //Black
$hp = ImageColorAllocate ($handle,$_GET["red1"],$_GET["green1"],$_GET["blue1"]);
$mp = $_GET["c1"];

ImageFilledRectangle($handle,12,24,$black);
ImageFilledRectangle($handle,13,$hp);
ImageFilledRectangle($handle,25,36,$mp);

ImagePng ($handle);
imagedestroy ($handle);
?>

这将生成一个带有 GD 库的示例图像,应该能够为中间和右侧矩形设置两种自定义颜色,左侧矩形始终是颜色 0x1c1c1c,这是一个关闭-黑色的。中间的矩形工作正常 - 毕竟您只是将三个数字传递给 ImageColorAllocate 命令 - 但右侧的矩形会出错,并带有“格式不正确的数值”。当 $black 以相同的方式格式化时,为什么会发生这种情况?有没有办法让我使用单个变量来定义颜色,而不是三个?

[2021 年 3 月 31 日星期三 15:15:02.838650] [php7:notice] [pid 10089] [client 45.74.102.92:62479] PHP 注意:在第 15 行的 /var/www/html/test.php 中遇到格式不正确的数值

yexuaimei 回答:$_GET 返回格式不正确的数值,但标准变量没有?

浏览在线 PHP 手册使我找到了 hexdec() 函数。我可以使用 $mp = $_GET["c1"]; 代替 $mp = hexdec($_GET["c1"]);,它就像做梦一样。回答我自己的愚蠢问题,呵呵。谢谢你的提示,昆汀。

本文链接:https://www.f2er.com/660425.html

大家都在问