![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 449 Pomógł: 0 Dołączył: 26.05.2004 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Uzytkownik robi jakies operacje na plikach graficznych. Najpierw ustala pewne parametry (rozdzielczosc, kompresje, dodaje takst na obraz itp) Wciska OK i otrzymuje wynik w postaci obrazka na monitorze. W tym samym momencie obrazek zostaje zapisany na serwerze jako plik tymczasowy - i gdy uzytkownik zdecyduje sie na ta wersje obrazka to zapisze go do swojej galerii.
Ale zanim zdecyduje sie na zapis wlasciwego obrazka to z pewnoscia bedzie generowal kilka jego poprzednich wersji. Kazda wygenerowana wersja obrazka ma inna nazwe pliku z tego wzgledu aby uniknac cachowania obrazka w przegladarce. I teraz pytanie: jak usunac obrazek gdy uzytkownik w pewnej chwili zrezygnuje i opusci strone? Bo jezeli zakonczy wszystko normalnie i zapisze swoj obrazek to bez problemu mozna usunac ten "temp". -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Trzeba by zapamietac nazwy wszystkich tych plikow, lub tworzyc je w jednym katalogu (zapamietac jego nazwe) i pozniej go usunac z cala zawartoscia. Albo przechowywac obrazki w bazie danych - dodajesz im pole temp (wskazujace czy jest do usuniecia) i id usera (sesji -- zeby rozpoznac czyje to obrazki) i usuwasz wszstkie rokordy z temp = 1 i pasujace do danego usera.
-------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 076 Pomógł: 62 Dołączył: 6.03.2005 Skąd: Wroc Ostrzeżenie: (0%) ![]() ![]() |
Ja miałem podobny problem. Miałem skrypcik generujący wykresy dynamicznie.
Zastosowałem katalog TEMP + kasowanie plików "starszych niż" (np 3 dni). Temp sprawdzany był co pierwszą wizytę każdego dnia. Działa ![]() ps - starszych niż - czyli sprawdzana data utworzenia pliku i warunek if w pętli Ten post edytował Darti 17.03.2005, 00:12:27 -------------------- The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1 MySQL Client API version : 5.0.27 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 449 Pomógł: 0 Dołączył: 26.05.2004 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Ale kiedy je usunac?
Jezeli user w pewnej chwili przerwie wykonywanie operacji ktore powinien dokonczyc i zostawi po sobie smieci, ktore normalnie zostaly by usuniete jezeli by doszedl do konca operacji ktore rozpoczal. -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
No to wtedy (kiedy przechowujesz obrazki w bazie + dodajesz pole data_utworzenia_obrazka) przy wejsciu dowolnego usera na strone usuwasz wszystkie STARE obrazki (tzn starsze niz np. 30 minut) -- dzieki temu usunesz 'pozostawione' obrazki przez niezakonczone akcje.
-------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 449 Pomógł: 0 Dołączył: 26.05.2004 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Juz mialem isc spac ale chyba dzieki Wam cos wymyslilem
![]() Nazwy plikow tymczasowych beda mialy czas pobierany z time(); I kazdy nastepny user bedzie sprzatal po poprzednim - czyli zrobie skrypt ktory uruchomi kazdy user i bedzie usuwal pliki starsze niz np 1 dzien. To powinno chyba dzialac? -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 076 Pomógł: 62 Dołączył: 6.03.2005 Skąd: Wroc Ostrzeżenie: (0%) ![]() ![]() |
znaczy niekoniecznie data byla w bazie - wogole po co mieszac w to baze? skoro czyscimy cyklicznie tempa, to tam jest gora kilka(nascie) obrazkow - uzylem readdir() albo cos takiego zeby sprawdzic datę utworzenia pliku.
ps - takie cos zrobilem (możliwe że częściowo przy pomocy manuala - nie pamiętam)
Ten post edytował Darti 17.03.2005, 00:31:16 -------------------- The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1 MySQL Client API version : 5.0.27 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
@Darti: twoje rozwiaznie jest ok i chyba najprostsze (tzn kodu nie sprawdzalem, chodzi mi o pomysl)
DLaczego baza? Chcialem w prosty sposob zapamietac czas utworzenia obrazkow i usera do nich przyporzadkowanego -- dla latwego usuwania. Ide spac. -------------------- Nie lubię jednorożców.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.06.2025 - 12:07 |