Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Upload zdjęcia
Forum PHP.pl > Forum > Przedszkole
geogis
Witam,

Bardzo proszę o pomoc jakąś łaskawą osobę.

Chciałbym przygotować upload z podglądem zdjęcia. Chodzi o to by osoba dodająca zdjęcie po przyciśnięciu przycisku 'dodaj' przerzucona została na stronę z podglądem wszystkich informacji z formularza z poprzedniej strony i podglądem samego zdjęcia. Na tej stronie dopiero będzie przycisk 'Zatwierdź' i dopiero wtedy wszystko jest publikowane na stronie.

Nie mam problemu z samym uploadem i wrzuceniem tego do bazy danych. Chodzi bardziej o to jak sobie poradzić z podglądem.....

Bo jeśli chce wyświetlić to zdjęcie to muszę dokonać uploadu zdjęcia na serwer juz przy przyciśnięciu guzika 'dodaj'. Następnie to wyświetlam i daje dwa guziki: 'Zatwierdź' i 'Anuluj'. Jak ktoś daje 'Zatwierdź' to aktywuje dane w bazie a jak ktoś daje 'Anuluj' to usuwam dane z bazy i robię unlink pliku. Ale co jeśli ktoś po prostu zamknie stronę? Jest jakaś możliwość wymuszenia skryptu który by usunął te dane i plik z serwera?

A może jest inny sposób na podgląd zdjęcia??

Bardzo proszę o sugestie.

Pozdrawiam
ferrero2
Ja do czegoś takiego tworzyłem tabele tymczasową gdzie przy pierwszej weryfikacji, był robiony insert a następnie jeśli ktoś klikał anuluj to poprostu rekord był usuwany, jeśli ktoś klikał ok to rekord przenosiłem do tabeli docelowej.

Niewiem czy to optymalne rozwiązanie ale napewno skuteczne

Pozdrawiam
Mariusz
geogis
No tak. To w sumie tak samo jakbym dodal to do docelowej tabeli i dodal kolumne 'active' i dal najpierw '0' a dopiero po zatwierdzeniu '1'.

Tylko jak usuwać te rekordy które sa zbedne jesli ktos opuszcza strone bez kliknięcia na Anuluj?
Pitter
Jeżeli to mały projekt to zrób sobie w panelu admina odpowiednie funkcje i usuwaj nie potrzebne. Skąd wiedzieć która jest potrzebna a która nie? Jak dodajesz rekord do bazy wpisuj że status=no a jak gość zatwierdzi to edytujesz rekord na status=ok. A potem w panelu admina robisz sobie funkcje która usuwa na raz wszystkie ze statusem no.
ferrero2
Właśnie dlatego proponowałem tabele TMP smile.gif
Po co zaśmiecać główny projekt. Ustawiasz czyszczenie tabeli albo co jakiś czas (przy małym projekcie dla znajomych sam możesz ją czyścić ale to trochę nie profesjonalne jak dla mnie). Możesz też zrobić sprawdzenie przy logowaniu czy dany user widnieje w tabeli głównej jeśli nie to sprawdz czy widnieje w tymczasowej. Jeśli tak to wyczyść wszystkie wpisy w tabeli tymczasowej dla tego usera Skorzystaj z $_SESSION['username'].

Najprościej jednak czyścić ją czasowo. Przecież osoba która chce coś dodać powinna mieć wpis w tabeli tymczasowej najdłużej około 2,3 minut - jeśli do tego czasu nic nie przejdzie do tabeli głównej to czyść.

Pozdrawiam
Mariusz
geogis
A w jaki sposób czyścic automatycznie po 3 minutach?

To czy będzie to po 2-3 min czy po godzinie to drugorzędna sprawa. Mysle ze 2-3 min to zdecydowanie za mało. Powiedzialbym ze to jest średni czas jaki użytkownik spędzi nad dodawaniem zdjęcia. Natomiast trzeba przewidzieć, że w środku dodawania przyjdzie jakiś znajomy i zacznie gadac, gadac i gadac.... i tak mija pol godziny (albo dwie) winksmiley.jpg

A poważnie, to myśle że po prostu trzeba zawsze dać miejsce przypadkom ekstremalnym i dać wiekszy bufor czasowy. Myśle, że bedzie to jakies 2-3 godziny (na wszelki wypadek).
ferrero2
Były już takie tematy jak czyścić tabelę np raz dziennie.
Można użyć np Crona albo poczytać w tym temacie

http://forum.php.pl/index.php?showtopic=96...szczenie+tabeli

pozatym wystarczy użyć wyszukiwarki i wpisać okresowe czyszczenie tabeli biggrin.gif

Pozdrawiam
nospor
No dobra, ale po co do tego tabela tymczasowa? Poco wogole te dane wkladac do tabeli jesli nie byly jeszcze zatwierdzone?
Przesylasz te dane do nastepnej strony i zapamietujesz w polach ukrytych lub w sesji. Dopiero jak ktos kliknie ZATWIERDź to wkladasz do tabeli.

Jedyny problem to plik, ktory tak czy siak musi byc uplodniety. Jego wrzucasz do swojego katalogu temp. Katalog ten czyscisz raz na jakis czas ze starych smieci, ktory zostaną gdy ktos kliknie anuluj.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.