Cytat(Blame @ 2.02.2010, 15:13:50 )

Mamooo! Widzę że tego nie rozumiesz więc postaram ci to przedstawić jak najłopatologiczniej w kilku krokach:
1. User wybiera sobie plik, naciska przycisk uploaduj.
2. W tym momencie strona się przeładowywuje, trwa to tak długo jak długo wykonują się punkty od 3 do 4.
3. Skrypt odbiera plik do katalogu temp JUŻ NA SERWERZE. W $_FILES mamy już nazwę pliku i inne dane.
4. Jeśli plik przejdzie wszystkie nasze filtry(jeśli jakieś są) np. na rozszerzenie, wielkość itp. to jest KOPIOWANY do lokalizacji docelowej czyli z katalogu "temp" jest przenoszony do załóżmy folderu "pliki".
5. Cały skrypt kończy swoje działanie i albo wyświetla jakiś komunikat typu "Plik zauploadowany" albo przekierowuje na inną stronę, jak kto woli.
Z tego względu samym php NIE da się zrobić progres bar'a, bo my nie mamy jako tako wpływu na skrypt kiedy plik jest wrzucany na serwer. Do takich rzeczy powinno się używać języków w których możemy zrobić upload w tle np. Flash bez przeładowania strony.
Przecież AJAX nie potrzebuje przeładowania strony i może korzystać ze zmiennych z PHP.
Wystarczy skorzystać z tego, że w p. 3, który przedstawiłeś mam w tym momencie uploadowany plik, czyli jego rozmiar się zmienia z sekundy na sekundę, więc przy pomocy AJAXa oraz metody setInterval, pobieram co np. pół sekundy nowe wartości, które oznaczają aktualny rozmiar pliku.
if ($_FILES['file_name']) zwraca true dopiero jak cały plik zostaje wczytany do końca i dopiero wtedy otrzymuje $FILES['file_name']['tmp_name'].
Chyba, że to dlatego, że żaden skrypt nie chce działać dopóty, dopóki nie wczyta się cały plik (przeładowuje się strona). Da się to zmienić?
O.o