[php] skrypt pobierania plikow

0

Witam. Ponizej przedstawiam moj skrypt do pobierania plikow (chodzi oto zeby uzytkownik nie znal lokalizacji z ktorej pobierany jest dany plik). U mnie chodzi wszystko ok. u wiekszosci osob tez. Ale zdarza sie u niektorych, ze zamiast wlasciwego pliku plik.zip przegladarka zapisuje go jako nazwe funkcji czyli pobierz.php. Jak to poprawic ?

<? 
header('Pragma: no-cache');      
header('Content-type: application/x-zip-compressed; name="plik.zip"');
header('Content-Disposition: attachment; filename="plik.zip"'); 
header('Content-Length: ' . filesize('jakiskatalog/plik.zip'));

if ($fp = fopen('jakiskatalog/plik.zip', 'rb'))
    {
        flock($fp, 1);
        echo(fread($fp, filesize('jakiskatalog/plik.zip')));
        flock($fp, 3);
        fclose($fp);
    }
?>
0

To może napisz jakich przeglądarek używają osoby, u których nie działa.
//Konrad: Wyprzedziłeś mnie :]

0

Konrad.G - tak znam ten skrypt. niestety nie moglem go dostosowac do potrzeb mojej strony zawsze cos nie tak chodzilo

Adam Pilorz - niestety nie wiem jakich przegladarek uzywaja :(

0

dodam jeszcze (moze to pomoze w rozwiazaniu problemu), ze przy sciaganiu pliku przegladarka pobiera 99% i w tym miejscu zatrzymuje sie na dluzsza chwile, i dopiero potem jest zakonczenie i pojawia sie 100%. Chyba tak nie powinno byc :)

0
Zenek24 napisał(a)

Adam Pilorz - niestety nie wiem jakich przegladarek uzywaja :(

to powiedz w takim razie jak rozwiazac problem ktorego nie mozna zaobserwowac ? sprobuj poszukac na googlach moze ktos mial juz taki problem...

0

Na przegladarce Internet explorer 6.0 zatrzymuje sie wlasnie jak dojdzie do 99% na dluzsza chwile.

0

Zenek: To już jest kwestia przeglądarki, przed zakończeniem ściągania przerzuca plik z TMP do odpowiedniego katalogu itp. Spróbuj dojść komu i pod jaką przeglądarką to NIE DZIAŁA. No chyba, że takie przystanięcie na 99% uważasz za błąd, ale tego chyba nie ominiesz.

0

przystaniecie rowniez uwazam za blad poniewaz przy innych plikach (nie sciaganych przy pomocy mojego skryptu) tego nie mam. A co do pliku to wazy 700kb i przezucenie z tmp trwalo by milisekunde a nie ladnych kilka sekund

0

Może sprawdź, czy prawidłową długość (Content-Length) podajesz... Albo czy w ogóle się wysyła należycie. Najlepiej sprawdź to jakimś programikiem, który Ci wyrzuci wszystko co wysyła serwer łącznie z nagłówkami i porównaj do tego, co wysyła przy normalnym ściąganiu tego pliku... To chyba jedyna metoda...

1 użytkowników online, w tym zalogowanych: 0, gości: 1