Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Odczyt wielkości pliku podczas jego zapisywania
mdoff
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 19.03.2013

Ostrzeżenie: (0%)
-----


Mam taki problem,
jest skrypt w php który ściąga dość duży plik, jednocześnie chciałbym żeby inny skrypt odczytał ilość pobranych danych do tego pliku.
Jednak kiedy wywołuję w tym drugim skrypcie funkcję filesize() to ona czeka na zamknięcie tego pobieranego pliku i zwraca mi pełny rozmiar pliku (już po jego pobraniu).
Czy jest może jakiś sposób aby ominąć tą blokadę?

Z góry dziękuję za pomoc (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Przerób skrypt do pobierania tego pliku. Użyj w nim CURL aby pobierać plik.

Do tego dodaj CURLOPT_WRITEFUNCTION do ustawień CURLA. Zrob odpowiednią funkcję i podaj ją jako callback. W tej funkcji będziesz wiedział ile już ściągnęło się danego pliku - tą informację możesz gdzieś zapisywać (plik,baza itp) i odczytywać zupełnie innym skryptem.

To tak w skrócie. Odsyłam do Wujka G. z frazą "CURLOPT_WRITEFUNCTION download progress" itp... Powodzenia (IMG:style_emoticons/default/wink.gif)

EDIT: tak w ogóle to coś robisz źle jeśli filesize() czeka na zakończenie pobierania pliku. Z jakiej funkcji korzystasz do jego zapisu? Może blokujesz dostęp do niego flock() lub coś w tym stylu? Bo to powinno normalnie śmigać...

Ten post edytował Sephirus 20.03.2013, 12:05:48
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 10:41