用php问题创建图像

时间:2011-06-16 08:43:10

标签: php session-variables

我的index.php文件我有类似的东西:

<?php
   session_start();
   $_SESSION[some_value] = 1;
?>
<img src="image.php" alt="some image"/>
<?php
   $_SESSION[some_value] = 0;
?>

我的image.php文件我看起来像(基本代码):

<?php
  session_start();
  header("Content-Type: image/png");
  $im = @imagecreate(400, 20)
  or die("Cannot Initialize new GD image stream");
  $background_color = imagecolorallocate($im, 255, 255, 255);
  $text_color = imagecolorallocate($im, 233, 14, 91);
  imagestring($im, 1, 5, 5,"session value is : {$_SESSION[some_value]}", $text_color);
  imagepng($im);
  imagedestroy($im);
?>

现在,当我在浏览器中加载index.php页面时,图片中的值为session value is : 0,如何使其显示1,然后在index.php中设置代码以将其设置为0(添加将值设置为0的image.php代码不是我正在寻找的内容)

2 个答案:

答案 0 :(得分:0)

您遇到了问题,因为在您的代码中,即使两个脚本都使用$_SESSION数组,这两个脚本也不会共享会话内存。

这取决于PHP如何以及何时存储$_SESSION数组的值。

相反,您需要一个共享存储,如数据库或共享内存,以在脚本之间交换值。

答案 1 :(得分:-1)

问题是浏览器在 index.php 加载后加载 image.php

您可以这样做:

<img src="image.php?some_value=<?php echo $_SESSION[some_value]; ?>" alt="some image"/>

但这取决于你的特定目的。