Pobieranie plikow przez IE i ich wizualizacja

0

Witam, chodzi mi o zrobienie wizualizacji (postepu) sciagania plikow. Np skrypt sprawdza ze user ma do pobrania np 12 zdjec i wyskakuje monit czsy chce je pobrac, klika Tak i teraz pliki po kolei zaczynaja sie sciagac ale jak zrobic i w czym zeby user widzial postep. Moze byc to w ten sposob ze po zakonczniu sciagania jednego pliku wyskakuje komunikat ze plik nr 1 pobrano.
W php nie bardzo chyba da sie to zrobic.
Pozdrawiam

0

Tak, to musisz zrobić po stronie klienta. Możesz wykorzystać JavaScript, tam jest takie funkcja, która sprawdza czy plik jest już załadowany, lub też Flash'a.

0

hmm... z checia bym pomogl ale jakos nie wiem o jakim pobieraniu plikow mowa, chodzi o zaladowanie obrazkow do Image() czy co ?

0

hmm... z checia bym pomogl ale jakos nie wiem o jakim pobieraniu plikow mowa, chodzi o zaladowanie obrazkow do Image() czy co ?

Chdzo o normalne sciaganie plikow z konta do katalogu lokalnego; i zeby widzialem gosc ze np 3 pliku juz sie sciagnely albo ile jest do konca ze cos sie dzieje.

0

Chdzo o normalne sciaganie plikow z konta do katalogu lokalnego; i zeby widzialem gosc ze np 3 pliku juz sie sciagnely albo ile jest do konca ze cos sie dzieje.

To jak ty te pliki chcesz ściągać? Przecież zwykła ściągałka internet explorera pokazuje postęp ściągania plików... W jaki inny sposób realizujesz to ściąganie?

0

To jak ty te pliki chcesz ściągać? Przecież zwykła ściągałka internet explorera pokazuje postęp ściągania plików... W jaki inny sposób realizujesz to ściąganie?

Przez ftp z poziomu php.

0

Przez ftp z poziomu php.

Czyli chcesz pokazać u klienta pasek postępu tego, co się dzieje na serwerze? Nie da sie :).

0

Nie da sie :).

nie ma rzeczy których się nie da zrobić :-P

tez uważam ze to kiepski pomysł ale cos by się wyskrobało....

pomijając sprawy całego ftp i wykonywania operacji na serwerze, największy problem to informować przeglądarkę o postępie w wykonywaniu operacji, a da się to zrobić przy pomocy osobnej ramki i JavaScript, mały przykład odnośnie tego co mam na myśli:

<?php

    // wylaczamy blokade zatrzymania skryptu po 30 sekundach
    set_time_limit(0); 

    // szykujemy 1 KB danych....
    for ($i = 0; $i < 1024; $i++)  $s .= '#';

    // przepelniamy poczatkowy bufor danych - w niektorych browserach
    // dopiero w tedy zaczyna realizowac otrzymany kod
    echo '<html><body><!-- ' . $s . ' -->';

    // zmuszamy serwer do wyslania danych do przegladarki
    flush();

    // mala pentelka zeby sprawdzic czy dziala
    $i = 10;

    while ($i--)
    {
        echo '<script>alert("' . $i . '")</script>';

        flush();

        sleep(3); // czekamy 3 sekundy
    }

?>

Jeżeli wykonuje się alert() to można tez odwołać się do sąsiedniej ramki i cos w niej wykonać, np. przesunąć pasek postępu...

0
<?php

    // wylaczamy blokade zatrzymania skryptu po 30 sekundach
    set_time_limit(0); 

    // szykujemy 1 KB danych....
    for ($i = 0; $i < 1024; $i++)  $s .= '#';

    // przepelniamy poczatkowy bufor danych - w niektorych browserach
    // dopiero w tedy zaczyna realizowac otrzymany kod
    echo '<html><body><!-- ' . $s . ' -->';

    // zmuszamy serwer do wyslania danych do przegladarki
    flush();

    // mala pentelka zeby sprawdzic czy dziala
    $i = 10;

    while ($i--)
    {
        echo '<script>alert("' . $i . '")</script>';

        flush();

        sleep(3); // czekamy 3 sekundy
    }

?>

Jeżeli wykonuje się alert() to można tez odwołać się do sąsiedniej ramki i cos w niej wykonać, np. przesunąć pasek postępu...

Alert sie wykonuje bez zadnych funkcji flush, a co maja znaczyc te znaczki # ktore sie dopisuja do zmiennej s bo nie bardzo kumam temat ?

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