сессия и объекты gd2
нужно в сессию сохранить объекты gd2 (объекты изображения), а потом достать их из сессии и использовать.
я пытался реализовать это следующим образом:
file1.php
<?php
session_start();
....
$img_file = 'img.jpg';
switch (substr($img_file, strrpos($img_file, '.')+1))
{
case 'gif':
$img_obj = imagecreatefromgif( $img_file );
break;
case 'jpg':case 'jpeg':
$img_obj = imagecreatefromjpeg( $img_file );
break;
case 'png':
$img_obj = imagecreatefrompng( $img_file );
break;
}
$wm_options = array();
$wm_options['param1'] = 'left';
$wm_options['img'] = $img_obj;
$_SESSION['WM_OPTIONS'] = $wm_options;
.......
?>
file2.php
<?php
session_start();
....
$par1 = $_SESSION['WM_OPTIONS']['param1']; // $par1 == 'left';
$img = $_SESSION['WM_OPTIONS']['img']; // $img == 0;
......
?>
Сначала выполняется file1.php потом переходит на file2.php
сделать чтобы передовался объект я не смог.
может кто-то сталкивался с такой задачей и знает как ее решать?
Решение простое. В конце скрипта генеришь случайное имя файла, кидаешь его в специальную директорию, в сессии сохраняешь имя этого файла. При каждой следующей загрузке скармливаешь этот файл функции imagefromjpeg (или ее аналогу для нужного тебе формата).
Цитата: RussianSpy
Это называется не "объекты", а "ресурсы".
Решение простое. В конце скрипта генеришь случайное имя файла, кидаешь его в специальную директорию, в сессии сохраняешь имя этого файла. При каждой следующей загрузке скармливаешь этот файл функции imagefromjpeg (или ее аналогу для нужного тебе формата).
Решение простое. В конце скрипта генеришь случайное имя файла, кидаешь его в специальную директорию, в сессии сохраняешь имя этого файла. При каждой следующей загрузке скармливаешь этот файл функции imagefromjpeg (или ее аналогу для нужного тебе формата).
Главное не забывай потом чистить эти файлы.
вопрос и состоит в том чтобы не использовать временный файл, а использовать сессию для хранения дескриптора рисунка
Цитата: Waldemar
спасибо большое. но именно так и сделанно.
вопрос и состоит в том чтобы не использовать временный файл, а использовать сессию для хранения дескриптора рисунка
вопрос и состоит в том чтобы не использовать временный файл, а использовать сессию для хранения дескриптора рисунка
А чем текущий вариант не устраивает?
Цитата: Waldemar
спасибо большое. но именно так и сделанно.
вопрос и состоит в том чтобы не использовать временный файл, а использовать сессию для хранения дескриптора рисунка
вопрос и состоит в том чтобы не использовать временный файл, а использовать сессию для хранения дескриптора рисунка
Дескриптор - суть ссылка на ресурс. После завершения работы скрипта ресурс существовать не будет, поэтому хранить его между запусками скрипта бессмысленно.