Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: petla w js + php
Forum PHP.pl > Forum > PHP
arcis
Mam juz dawno skonczona i dzilajaca strone w php + mysql - galerie fotografii. Istniej na niej mozliwosc uploadu wlasnych fotografii z poziomu przegladarki lecz uzytkownicy wymagaja odemnie aby mozna bylo dostarczyc zdjecia na plycie CD. Napisalem (a raczej koncze) program w Builderze ktory umozliwia fotografowi stworzenie katalogu a dalej wypalenie plyty z wybranymi zdjeciami oraz plikiem txt gdzie znajduja sie wszystkie potrzebne dane aby dodac zdjecia do bazy (opisy zdjec). I teraz problem. Nie chce pisac softu w Builderze ktory z poziomu PC dobieralby sie do bazu mysql oraz ftpowal pliki na serwer - zbyt pracochlonne. Postanowilem wykorzystac czesc juz napisanej przeze mnie strony: umieszczam plyte w kieszeni serwera i wywoluje strone php+java ktora w petli na podstawie pliku txt z plyty odczyta wszystkie pliki i doda do bazy. Tylko, chcialbym aby strona informowala o postepach w pracy dlatego tez nie chce uzyc zwyklego for... z php gdyz nie bede mial informaci o przebiegu procesu - jedynie jak sie skonczy. Chcialbym pete wywolywac z poziomu javy a dalej pojedyncza procedure uploadu php. W ten sposob zobacze na ekranie informacje o kazdym dodawanym zdjeciu.
I teraz pytanie: czy to bedzie dzialac? Konkretnie chodzi mi o petle w java scrip a wewnatrz a procedure w php (czasochlonna) i jak to zrobic aby java wiedziala, ze php juz skonczyl (!?) by rozpoczac nastepna petle.
pozdrawiam
Artur Halaczkiewicz
lisu
Cytat
Tylko, chcialbym aby strona informowala o postepach w pracy dlatego tez nie chce uzyc zwyklego for... z php gdyz nie bede mial informaci o przebiegu procesu - jedynie jak sie skonczy.


Uzyje w petli for buforowania wynikow ( flush() ). Tylko uwazaj bo niektore przegladarki same buforuja strony. Najlepiej jak bys:
[php:1:b5a2f48f8b]<?php
for ($i=1;$i<1000;$i++) //tu ilosc plikow do obrobki
{
// tu cos robisz z plikiem
echo ' tu wklepujesz okolo 500 spacji, lub wypisujesz w petli';
echo ' jestem przy pliku nr'.$i;
flush();
}

?>[/php:1:b5a2f48f8b]

w ten sposob oszukujesz przegladarke, ze cos do niej sensownego wysylasz. I nie zapomnij o set_time_limit();
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.