session_start и Content-type: image/jpeg

mutex

Guest
Авторизация перед выдачей изображения

Не могу разобраться. Есть такой скрипт:
PHP:
<?php
   session_start();

   include("mysql.inc.php");
   include("functions.php");

   if(!isset($_SESSION['user_id'])) $_SESSION['user_id'] = "-1";

   $connect = mysql_connect($db_host, $db_user, $db_password);
   mysql_select_db($db_name);

   $permission = is_valid_user($_SESSION['user_id'], $_GET['id']);

   if($permission)
   {
      header("Content-type: image/jpeg");
      readfile("data/".$_GET['id'].".jpg");
   }
   else
      die("У вас нет прав для просмотра этого изображения.");


   mysql_close($connect);
?>
Который почему-то работает, хотя заголовки отсылаются session_start() до Content-type. В другом скрипте этот алгоритм уже не работает. Вопрос такой - как можно реализовать проверку подлинности пользователя с помощью сессий внутри скрипта, который выдает изображение?
 

Кром

Новичок
Заголовки отсылаются, если у тебя записана в сесиию какая нибудь переменная.

А директория data/ у тебя где находиться? В пределах web-дерева?
 

mutex

Guest
Кром
А директория data/ у тебя где находиться? В пределах web-дерева?
Конечно.

Заголовки отсылаются, если у тебя записана в сесиию какая нибудь переменная.
Хм. Значит, считывать можно...

Выходит, если скрипт выдает изображение, полноценной работы с сессиями не получится?
 

tony2001

TeaM PHPClub
>Заголовки отсылаются, если у тебя записана в сесиию какая нибудь переменная.
да ладно.
во всех случаях шлется только кука.

>Выходит, если скрипт выдает изображение, полноценной работы с сессиями не получится?
получится.
попробуй - увидишь.
 
Сверху