PHP:如果未启动会话,则尝试隐藏图像

时间:2013-10-28 07:43:05

标签: php image session hide

我有一个包含此代码的 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>为什么?

2 个答案:

答案 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" />' ;