Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pobieranie pliku przez użytkownika
Forum PHP.pl > Forum > Przedszkole
kinder
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ł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
Sephirus
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 tongue.gif
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.