Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Pobieranie pliku z serwera
Babcia@Stefa
post
Post #1





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Witam, mam kod który pobiera mi plik z internetu nie obciążając serwera apache.

  1. <?php
  2. $fp = fopen($File, 'r');
  3.  
  4.    while (!feof($fp))
  5.    {
  6.        $I++;
  7.        if($I == 20)
  8.        {
  9.            $I=0;
  10.            sleep(1);
  11.        }
  12.        $Data = fgets($fp, '2048');
  13.        file_put_contents('newfile.zip', $Data, FILE_APPEND);
  14.    }
  15.    
  16.    fclose($fp);
  17. ?>


Niestety prędkość pobierania jest wolna, ale to narazie nie ważne (poprawie to wkrótce), ale MOIM PROBLEMEM jest to że ten kod pobiera niekompletny plik tzn.

Cytat
Pobrano 100% (383757 z 383721 bajtow)


Pobiera o troszkę za dużo.

Gdzie jest błąd w kodzie?

@edit

Cytat
Pobrano {PROCENT} ({FILESIZE} - {SESSION - wielkość pliku pobrana z serwera (serwer podaje informację w formacie XML) - filesize po stronie serwera} bajtow)


Pozdrawiam, WebNuLL

Ten post edytował Babcia@Stefa 3.12.2008, 11:31:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Darti
post
Post #2





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


Serwer obciążasz tak samo (kto wie czy nie bardziej) tyle że rozkładasz to w czasie.

Co do kodu - pokaż w jaki sposób zliczasz te wartości (383757 z 383721 bajtow) ...
A jeszcze prościej - stwórz sobie plik 1 bajtowy (np z literką a w środku) i pobierz go Twoją metodą a nastepnie otwórz pobrany plik - zobaczysz sam czego jest za duzo (o ile w ogołe jest za dużo).
Go to the top of the page
+Quote Post
Babcia@Stefa
post
Post #3





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Z tym 1 bajtowym plikiem to spróbuję.
Co do obciążenia serwera to wiem, rozkładam je aby od razu cały serwer nie używał 50% procesora (jak ja testowałem ten kod to używał 0-1%).

@edit
Gdy nie będę używał sleep()" title="Zobacz w manualu PHP" target="_manual to serwer mi się zamrozi na chwilę...

Pozdrawiam, WebNuLL

Ten post edytował Babcia@Stefa 3.12.2008, 16:46:37
Go to the top of the page
+Quote Post

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: 22.12.2025 - 23:39