![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 15.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Dzisiaj zrobiłem captcha w PHP i natknąłem się na mały problem. Skrypt (a właściwie klasa) działa w ten sposób, że obrazek jest tworzony i zapisywany jako plik .jpg. Nie zrobiłem tego tak jak opisują to na kursach (header('Content-Type: image/jpeg'); ), bo obrazek chcę wykorzystać zwyczajnie w części html, w formularzu rejestracji. Schody zaczęły się, gdy napisałem destruktor, który usuwa tymczasowy obrazek captcha z folderu. Działa on tylko wtedy, gdy go jawnie wywołam, tzn. tak:
Chciałbym jednak, by to działało przy przechodzeniu na inną stronę. Proszę o pomoc i z góry dzięki ;] |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Obrazek captchy nie powinien być cachowany. Powinien go na poczekaniu generować skrypt na podstawie aktualnej sesji. W Twoim wypadku pozostawałoby automatyczne usuwanie obrazków po upływie określonego czasu.
Możesz zserializować obiekt obrazka do sesji i przy następnym wywołaniu skryptu wywołać funkcję usuwającą obrazek. Ktoś jednak może usunąć sesję, bądź wcale nie odświeżać strony - w tym wypadku pozostaną zbędne śmieci w tymczasowym folderze obrazków. Możesz to poprawić poprzez np. automatyczne usuwanie obrazka po 5 minutach, ale czy warto tak kombinować? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Pisze się __destruct, a nie destruct().
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 19:15 |