Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Pobieranie pliku przez użytkownika, jak sprawdzić czy użytkownik rzeczywiście pobrał
kinder
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Sephirus
post
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)
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: 22.08.2025 - 22:14