我有一个包含此代码的 picture.php 脚本
<?php
if(isset($_GET['pic']) && isset($_SESSION))
{
$img = imageCreateFromPng($_GET['pic']);
header("Content-type: image/png");
imagePng($img);
imagedestroy($img);
}
else
{
echo 'hidden';
die;
}
?>
我正在尝试隐藏会话未启动时从 picture.php 生成的图像。 我有另一个名为 show.php 的页面,其中包含代码
<?php
session_start();
echo '<img src="picture.php?pic=apple.png" />' ;
?>
问题是图像不会显示在 show.php 中,即使会话 已启动 show.php < / strong>为什么?
答案 0 :(得分:0)
如果您要检查某个会话变量,请不要忘记在顶部启动会话
尝试:
<?php
session_start();
if(empty($_GET['pic']) && empty($_SESSION))
{
echo 'hidden';
die;
}
else
{
$img = imageCreateFromPng($_GET['pic']);
header("Content-type: image/png");
imagePng($img);
imagedestroy($img);
}
?>
这可能有帮助...... start_session();
答案 1 :(得分:0)
如果会话被视为已启动,您实际上可能想要“标记”。
picture.php:
session_start();
if(isset($_GET['pic']) && isset($_SESSION['initialized']))
{
unset($_SESSION['initialized']);
$img = imageCreateFromPng($_GET['pic']);
header("Content-type: image/png");
imagePng($img);
imagedestroy($img);
}
else
{
echo 'hidden';
die;
}
show.php:
session_start();
$_SESSION['initialized'] = true;
echo '<img src="picture.php?pic=apple.png" />' ;