Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Zarządzanie obrazkami - 2-etapowe dodawanie, Jak byście to rozwiązali
qrzysztof
post
Post #1





Grupa: Zarejestrowani
Postów: 220
Pomógł: 19
Dołączył: 25.04.2009

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


Witam,

Mam na stronie 2-etapowy (składający się z dwóch formularzy) upload obrazków. Pierwszy formularz ("Załaduj obrazek") wgrywa go na serwer, a dopiero drugi ("Zapisz zmiany") dodaje bądź uaktualnia rekord w bazie danych.

W wyniku tego procesu nieuchronnie powstawać będą obrazki-"sieroty" (te, które zostały wgrane na serwer ale z jakichś powodów nie zapisano zmian). Jak to najlepiej rozwiązać?

Przychodzi mi do głowy dodatkowe pole w tabeli z obrazkami: "potwierdzony" z domyślną wartością 0 i zmienianą na 1 w przypadku wysłania formularza "Zapisz zmiany". A następnie okresowe ręczne lub automatycznie usuwanie "sierot". Da się to jakoś sprytniej rozwiązać zachowując te 2 etapy dodawania obrazków, czy może tak być?
Go to the top of the page
+Quote Post
MateuszS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


A dlaczego, nie wybierasz obrazka a po 'zapisaniu zmian' on sie uploaduje?

Ten post edytował MateuszScirka 21.11.2009, 22:22:04
Go to the top of the page
+Quote Post
qrzysztof
post
Post #3





Grupa: Zarejestrowani
Postów: 220
Pomógł: 19
Dołączył: 25.04.2009

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


Mam formularz, w którym docelowo będzie można dodawać kilka obrazków, oraz zmieniać wartości pól tekstowych (wszystko przed zapisaniem zmian). W ten sposób jest to moim zdaniem bardziej czytelne. Użytkownik bardziej wie co się dzieje, że czeka bo ładuje się obrazek. A jak się załaduje to tylko proste "zapisz". Coś jak z emailami i ładowaniem załączników przed wysłaniem.
Go to the top of the page
+Quote Post
MateuszS
post
Post #4





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


No ok, fajnie, tyle że samo wysyłanie można zrobić już po naciśnięciu buttona "zapisz". Jeżeli koleś dodał obrazek to się zapisze, jeżeli nie wybrał to zapiszą się tylko pola tekstowe.
Go to the top of the page
+Quote Post
qrzysztof
post
Post #5





Grupa: Zarejestrowani
Postów: 220
Pomógł: 19
Dołączył: 25.04.2009

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


A jest jakiś konkretny powód, dla którego w większości skrzynek email dostępnych przez www, załączniki wysyła się najpierw na serwer a dopiero później klika "wyślij (całą wiadomość)" ?


Ja wiem, że da się ja piszesz. Ale takie obejście problemu to dla mnie ostateczność.

Ten post edytował qrzysztof 21.11.2009, 22:55:37
Go to the top of the page
+Quote Post
MateuszS
post
Post #6





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Mi się zawsze wydawało że robi się tak dlatego, że np. user pisze wiad. a w tym czasie się wysyła i nie musi czekać potem 5 min po naciśnięciu wyślij aż się plik prześle, poza tym może się rozmyślić i zmienić załącznik. Choć tak serio to nie wiem dlaczego tak robią, nigdy się nad tym nie zastanawiałem specjalnie.

Może spróbuj przy przesyłaniu zdeklarować sesję z linkiem do pliku, jeżeli dasz zapisz zmiany, sesja zmieni np. wartość a jeżeli po przejściu na inną stronę sesja nadal będzie miała adres w wartości, usuń obrazek... takie pierwsze skojarzenie, nawet nie wiem czy takie coś by działało

Ten post edytował MateuszScirka 21.11.2009, 23:00:23
Go to the top of the page
+Quote Post
qrzysztof
post
Post #7





Grupa: Zarejestrowani
Postów: 220
Pomógł: 19
Dołączył: 25.04.2009

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


No to tak samo jest u mnie. Tekstowe pola formularza podczas ładowania obrazka są jak najbardziej dostępne i można zaoszczędzić czas wypełniając je wtedy.

Też myślałem o sesji. Muszę pokombinować czy byłoby to wykonalne.

Ten post edytował qrzysztof 21.11.2009, 23:05:05
Go to the top of the page
+Quote Post
ziqzaq
post
Post #8





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

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


Witam.
Może zrobić to na dwóch folderach? Jeden z obrazkami tymczasowymi a drugi docelowy (z już zapisanymi w bazie). Przy uploadzie tworzysz tymczasowy obrazek a jak user potwierdzi zmiany przenosisz go do docelowego katalogu.
Co jakiś czas sprawdzasz sobie czy w tymczasowym katalogu są pliki starsze niż np. 1h (czyli raczej nikt już ich nie potrzebuje), jeśli są to je usuń.
Go to the top of the page
+Quote Post
qrzysztof
post
Post #9





Grupa: Zarejestrowani
Postów: 220
Pomógł: 19
Dołączył: 25.04.2009

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


No to też jest jakieś rozwiązanie. Generalnie podobne do tego, które podałem w 1szym poście z tą zaletą, że nie trzeba ruszać bazy.

Ciekawe jak ten problem jest rozwiązany w skrzynkach pocztowych www. Co się dzieje z załącznikami załadowanymi na serwer, ale nie wysłanymi. Czy są od razu kasowane czy lądują w jakimś, raz na jakiś czas, opróżnianym folderze tymczasowym.
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: 4.10.2025 - 06:14