Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ajax upload i problem ze śmietnikiem...
Daimos
post
Post #1





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Witam

Mam formularz, gdzie robię upload plików ajaxem, więc pliki przed wysłaniem formularza, już fizycznie lecą na serwer, a przechowywane są w folderze tymczasowym (nazwijmy go temp). Dopiero po przesłaniu całego formularza, lądują w oczekiwanym miejscu i są usuwane z temp. Teraz zagadka...
Wiadomo, że ktoś może formularz zacząć wypełniać, zrobi upload, ale anuluje przesłanie całości. W tym momencie, zostaje śmietnik w temp. Coś trzeba z tym robić (IMG:style_emoticons/default/smile.gif)
Ja widzę takie rozwiązania:
- sprawdzać, czy ktoś zamyka okno przeglądarki z poziomu JS i wysyłać ajaxem żądanie czyszczenia tempa (bardzo kiepskie rozwiązanie, ewentualnie jako dodatek)
- czyścić cronem tymczasowy folder, usuwając stare* pliki
- czyścić przed każdym uruchomieniem formularza stare* pliki

* stare pliki, mam namyśli takie, które np. są dłużej niż 24h, wiadomo - aby nie usunąć czegoś w trakcie wypełniania formularza. Jednak mimo takiego zabiegu, zawsze będą tam zbędne śmieci, chociażby z tych wspomnianych 24h

Więc teraz pytanie do Was, czy widzicie inne możliwości? Może jakieś ciekawe pomysły, a może już gdzieś stosujecie jakieś ciekawe rozwiązania takiego problemu?

Ten post edytował Daimos 17.06.2011, 16:31:54
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Pawel_W
post
Post #2





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


zdecydowanie opcja druga (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Daimos
post
Post #3





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


hehe nie pytałem o to która (IMG:style_emoticons/default/smile.gif) mimo wszystko dzięki (IMG:style_emoticons/default/wink.gif) Tylko opcja druga, z cronem, ma swoją wadę - jeśli przyjdzie zainstalować taki skrypt na serwerze bez crona (zdarzają się niestety (IMG:style_emoticons/default/sad.gif) ) to wtedy temp rośnie

Ale nie o tym, interesuje mnie, czy może widzicie jakieś inne opcje, oprócz tych, które wymieniłem?

Ten post edytował Daimos 17.06.2011, 16:39:31
Go to the top of the page
+Quote Post
Pawel_W
post
Post #4





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


rzeczywiście, jakoś mi to umknęło - jeżeli robisz coś na poważnie to raczej wykupujesz taki serwer, który ma crona, więc nie widzę tutaj problemu (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Daimos
post
Post #5





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Wiesz, jak robię coś dla siebie, to nie martwię się o takie rzeczy. Jeśli jednak mechanizm ma być później masowo wdrażany w wielu serwisach, to już muszę brać pod uwagę wiele możliwości, no ale EOT (IMG:style_emoticons/default/smile.gif) nie o tym dyskusja
Go to the top of the page
+Quote Post
Hpsi
post
Post #6





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Hm pewien pomysł mam ale nie wiem czy jest on adekwatny.
Jeśli formularz jest np do zalogowanych użytkowników, to byś mógł w TMP dawać przedrostek np z id'kiem użytkownika, i w czasie uruchamiania np index'u , sprawdzać czy istnieją pliki z prefixem id uzytkownika którzy nie są zalogowani i w tym momencie pozbywać się plików?
Nie jest to do końca przemyślana koncepcja można by nad tym pogłówkować troszkę i lepiej rozwiązać ale taki pomysł mi wpadł do głowy.
Go to the top of the page
+Quote Post
Daimos
post
Post #7





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


No jest to jakiś pomysł, ale w sumie podobny jest to metody, gdzie kasowałbym stare pliki, tylko tutaj faktycznie, mogę kasować pliki, które są świeższe. Ale...
Kiedy dużo osób będzie zalogowanych, może się to wiązać z większymi operacjami (no bez przesady, ale wiadomo (IMG:style_emoticons/default/smile.gif) )
W końcu muszę sprawdzić wszystkie pliki, które się tam znajdują
Go to the top of the page
+Quote Post
markonix
post
Post #8





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


CRON + ręczne wywołanie czyszczenia.
Cron będzie raczej wszędzie, a gdy go nie ma (serio rzadko się to zdarza), albo ktoś go nie będzie umiał włączyć (to już prędzej) to po prostu co niedziele sobie będzie włączał zakładkę "Optymalizacja". Możesz dodać alert w oknie powitalnym, że "Nie masz ustawionego CRONa, aby zmniejszyć zajętość dysku dokonaj optymalizacji".
Go to the top of the page
+Quote Post
drPayton
post
Post #9





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Imho @markonix ma rację, nawet na darmowych hostingach cron jest juz standardem, na płatnych wręcz nie może go nie być.
Takie podejście - zostawienie (w sytuacji awaryjnej) optymalizacji (tu: czyszczenie tempa) administratorowi systemu jest rozwiązaniem akceptowalnym.
Go to the top of the page
+Quote Post
Daimos
post
Post #10





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


No to jest dobry pomysł, aby połączyć funkcjonalności tzn Cron + czyszczenie przez admina. W przypadku braku crona, sprawa też jest tak załatwiona
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.09.2025 - 13:18