|
|
|
|
|
для: Лена
(15.06.2009 в 16:34)
| | Значит не все перепробовали. Сохранять каптчу нужно не на диске для пользователей, а через память в сессии. Уже если нельзя куда-то что-то передать, то уж где-то сохранить в сессии, а в другом месте получить всегда можно:
<?
//рисуем каптчу
$im = imagecreate (80, 32);
$bgc = imagecolorallocate ($im, 0, 0, 0);
$tc = imagecolorallocate ($im, 255, 255, 255);
imagefilledrectangle ($im, 0, 0, 80, 32, $bgc);
imagestring ($im, 1, 5, 5, "Ab36F", $tc);
//сохраняем ее через память в сессию
ob_start();
imagejpeg($im);
$_SESSION['im'] = ob_get_contents();
ob_end_clean();
imagedestroy($im);
//где требуется выводим
$im = imagecreatefromstring($_SESSION['im']);
imagejpeg($im);
//или просто
echo $_SESSION['im'];
|
| |
|
|
|
|
|
|
|
для: Лена
(15.06.2009 в 22:47)
| | несущественно.
Важнее то, что второй вариант за собой гарантированно подотрет.
Первый же.... | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2009 в 16:40)
| | А по времени как быстрее: при каждом вызове скрипта удалять один файл или сразу кучу файлов удалять, которые насобирались за 5 минут? | |
|
|
|
|
|
|
|
для: Лена
(15.06.2009 в 16:33)
| | можно и так.
Можно вообще удалить все файлы из этого каталога, созданные ранее чем 5 минут назад.
Это если скриптом отдать файл не выходит никак. Что крайне странно само по себе. | |
|
|
|
|
|
|
|
для: sim5
(15.06.2009 в 16:17)
| | Без файла не получается, я уже все возможные способы перепробовала. | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2009 в 15:55)
| | Нет, я хочу вывести, а потом удалить. Я же не буду все эти файлы со случайными названиями собирать. Есть мысль, что это можно сделать в обработчике. Пришли данные формы - удаляем файл, а потом уже сравниваем цифры из сессии и пост-данные. | |
|
|
|
|
|
|
|
для: Лена
(15.06.2009 в 15:50)
| | Вы можете вообще не сохранять никуда файл (если дело касается каптчи). | |
|
|
|
|
|
|
|
для: Лена
(15.06.2009 в 15:50)
| | return $tcontent;
//убиваем файл
unlink($path_file);
после return ничего выполняться все равно не будет.
Кроме того, если его удалить, как же тогда его браузер покажет? | |
|
|
|
|
|
|
|
для: Trianon
(15.06.2009 в 14:59)
| | Получилось, но не все.
Картинка теперь отображается, но после вывода формы я хочу удалить само изображение. Файл изображения не удаляется. - unlink($path_file); | |
|
|
|
|
|
|
|
для: Лена
(15.06.2009 в 14:53)
| | Первое, что бросается в глаза, это то, что переменная $path_file определяется в функции function testimagepng_mypage() как локальная. То есть с глобальной $path_file никак не соотносится.
так что для начала
function testimagepng_mypage(){
global $path_file; | |
|
|
|
|