Не удается загрузить изображение, созданное с помощью библиотеки gd, если оно находится в сеансе

у меня есть такой код:

<?php
session_start();
if(!isset($_SESSION['log']) || $_SESSION['log'] != $_POST['accesso']){
exit(":)");
}

header('Content-Type: image/jpeg');

$image_width = 200;
$image_height = 40;
$image = imagecreate($image_width, $image_height);
imagejpeg($image);

?>

Если я пытаюсь сохранить изображение или с помощью правой кнопки мыши, или с помощью команды ctrl + s, ничего не происходит. Если я удалю сессию session_start(); все снова работает

Решения?

0

Решение

Хорошо, после «обсуждения» этого в комментариях и того, что вы отказываетесь предоставить больше информации, лучшее, что я мог сделать, — это угадать, в чем проблема. Так:

  1. Без session_start() нет $ _SESSION global. Сервер вообще не запускает или не сохраняет сеанс, поэтому вы вообще не сможете загрузить образ (как !isset($_SESSION['log']) всегда должен возвращать TRUE в этом случае. Если это не так, я полагаю, у вас есть session.auto_start установите в вашем файле php.ini значение 1 (которое указывает серверу запускать сессию при каждом запросе. Я бы установил значение 0 и посмотрел, изменилось ли это что-нибудь).

  2. Помните, что при активной сессии (session_start() называется) все, что вы храните в переменной $ _SESSION, будет там до истечения времени ожидания сеанса, когда вы изменяете cookie сеанса («забываете» идентификатор сеанса) или явно удаляете указанное значение из $_SESSION (как это: unset($_SESSION['log']);). Попробуйте сбросить $ _SESSION [‘log’] или как-то изменить его и посмотреть, что произойдет.

  3. Вместо вас я бы добавил директиву, подобную приведенной ниже, в самом начале вашего скрипта, чтобы помочь мне в отладке:

error_reporting(E_ALL); /* report all errors no matter what type */
ini_set('display_errors', 1); /* display errors to output */

Кроме того, если на самом деле session_start() это ваша проблема, вы действительно должны прочитать о том, как сеансы работают в PHP: http://php.net/manual/en/book.session.php.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]