![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 10.12.2003 Skąd: zd-wola Ostrzeżenie: (0%) ![]() ![]() |
Witam. spotkałam się z problemem natury technicznej... mam 120 s na wykonanie operacji, muszę zaimportować ceny w pewnej hurtowni... koło 8000-10000 linijek pliku z importem cen. Wszystko już działa tylko po przejściu koło 2000-2500 linijek skrypt się wywala... i dostaję błąd przekroczenia czasu na wykonanie skryptu [max 120s]
Idzie to jakoś obejść? Ten post edytował skromna85 4.04.2007, 11:33:16 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
1. set_time_limit" title="Zobacz w manualu PHP" target="_manual
albo 2. microtime" title="Zobacz w manualu PHP" target="_manual - za każdym przejściem pętli sprawdzasz jak długo wykonuje się już skrypt PHP. Jeśli dojdzie do 100 sekund to przy pomocy funkcji header() wywołujesz go ponownie, ale do adresu URL dodajesz zmienną określającą numer znaku, od której skrypt ma zacząć. Np jeśli w ciągu 100 sekund uda ci się przerobić 3456 linijek, to: - zatrzymujesz pętlę - odczytujesz pozycję kursora w pliku (ftell" title="Zobacz w manualu PHP" target="_manual) - wstawiasz ją do URL skryptu i wysyłasz nagłówek funkcją header" title="Zobacz w manualu PHP" target="_manual - na początku skryptu sprawdzasz, czy podano np. $_GET['zacznij_od'], jeśli tak to przesuwasz kursor w pliku do tego miejsca (fseek" title="Zobacz w manualu PHP" target="_manual) - kontynuujesz odczytywanie danych z pliku |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 01:03 |