PHP - 使用文件扩展名获取请求变量不起作用

$badgedata = $_GET['badge'];
if ($badgedata == "test.gif") {
  $im = imagecreatefromgif("badges/base/test.gif");
  imagegif($im);
}

why does this display a blank page when I go to

badge.php?badge=test.gif

But if i try

$badgedata = $_GET['badge'];
if ($badgedata == "test") {
  $im = imagecreatefromgif("badges/base/test.gif");
  imagegif($im);
}

and go to

badge.php?badge=test

it works, but I need the .gif on the end.

you must set header

$badgedata = $_GET['badge'];
if ($badgedata == "test.gif") {
   $im = imagecreatefromgif("badges/base/test.gif");
   header('Content-Type: image/gif');
   imagegif($im);
}

check badge value

$badgedata = $_GET['badge'];
echo $badgedata;

Have you tried this ?

URL

?badge=test%2Egif

Code

<?php
$badge = (isset($_GET['badge'])) ? urldecode($_GET['badge']) : null;
if(!empty($badge))
echo $badge;