![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 2 Dołączył: 15.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam taki problem: użytkownik klika na link download i wyskakuje mu okienko przeglądarkowe zapisz jako lub może anulować całkowicie. Jak sprawdzić czy użytkownik zdecydował się na zapisanie (ściągnięcie) pliku czy nie anulował(IMG:style_emoticons/default/questionmark.gif) ? Bo samo kliknięcie na download mówi tylko że wyskoczy mu okienko gdzie może anulować. Czy istnieje również możliwość sprawdzenia czy ściąganie przez użytkownika zakończyło się 100% powodzeniem? Proszę o porady i z góry dziękuje |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W większości przeglądarek samo okienko wcale nie oznacza niestety że plik nie był pobierany - on jest pobierany w tle praktycznie zawsze - kliknięcie anuluj jedynie przerywa ten proces.
Kliknięcie powoduje po prostu zawsze wystartowanie pobierania a user dalej decyduje o tym czy i gdzie dany plik zapisać - więc to nie działa tak jakbyś chciał. Każde kliknięcie to minimum rozpoczęcie pobierania. Co do wykrycia czy user pobrał plik caly itd - to zależy od tego jak podajesz mu plik do pobrania. - Czy jest to plik fizycznie na serwerze i użytkownik po prostu go pobiera z realnego adresu - wówczas trzeba zobaczyć jaki to serwer (pewnie apache) i poczytać o obsługiwaniu pobierania plików - jakie serwer daje eventy do obsługi tego w konfiguracji itd. Możliwe że da się skonfigurować go tak by po każdym pobieraniu (przerwanym czy nie) odpalał wskazany skrypt PHP wysyłając mu dane dotyczące pobieranego pliku. Jeśli tak się nie da trzeba obserwowac logi. - Czy jest to plik wyrzucany userowi przez PHP - wtedy należy poczytać o funkcji ignore_user_abort oraz register_exit_function (czy jakoś tak) - ale to nie działa w stu procentach. - Czy jest to plik znajdowany przez PHP i przerzucany do wysyłania przez serwer za pośrednictwem odpowiednich nagłówków (x-sendfile) - jeśli tak to obchodzi się z tym podobnie jak w przypadku pierwszym. Tak czy inaczej zabawa raczej dla zaawansowanych - chyba że się znajdzie dobry artykuł na ten temat (IMG:style_emoticons/default/tongue.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 22:14 |