Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] curl progress - fopen problem?
m.b
post 28.01.2013, 18:21:28
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 17.01.2005

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


Dlaczego nie zapisuje postępu do pliku o nazwie $id (ustawiam w url np. &id=1) ?
  1.  
  2. $url = $_GET['url'];
  3. $name = $_GET['name'];
  4. $id = $_GET['id'];
  5.  
  6. file_put_contents( $id, '' );
  7. $targetFile = fopen($name, 'w' );
  8.  
  9. $ch = curl_init($url);
  10. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  11. curl_setopt( $ch, CURLOPT_NOPROGRESS, false );
  12. curl_setopt( $ch, CURLOPT_PROGRESSFUNCTION, 'progressCallback' );
  13. curl_setopt( $ch, CURLOPT_FILE, $targetFile );
  14. curl_exec( $ch );
  15. fclose( $ch );
  16.  
  17. function progressCallback( $download_size, $downloaded_size, $upload_size, $uploaded_size )
  18. {
  19. static $previousProgress = 0;
  20.  
  21. if ( $download_size == 0 )
  22. $progress = 0;
  23. else
  24. $progress = round( $downloaded_size * 100 / $download_size );
  25.  
  26. if ( $progress > $previousProgress)
  27. {
  28. $previousProgress = $progress;
  29. $fp = fopen($id, 'a' );
  30. fputs( $fp, "$progress\n" );
  31. print($id.' '.$progress);
  32. fclose( $fp );
  33. }
  34. }



Po zmianie $fp = fopen($id, 'a' ); na $fp = fopen($_GET['id'], 'a' ); jest ok :/

Ten post edytował m.b 28.01.2013, 19:37:48
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Posio
post 28.01.2013, 23:01:25
Post #2





Grupa: Zarejestrowani
Postów: 417
Pomógł: 44
Dołączył: 23.06.2011

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


to co za problem sprawdzić co zwraca zmienna $id, skoro nie chce trybic tylko na niej, to znaczy że z nią jest coś nie tak ...
Go to the top of the page
+Quote Post
m.b
post 29.01.2013, 07:25:00
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 17.01.2005

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


Cytat(Posio @ 28.01.2013, 23:01:25 ) *
to co za problem sprawdzić co zwraca zmienna $id, skoro nie chce trybic tylko na niej, to znaczy że z nią jest coś nie tak ...

No nie problem, tylko dlaczego jeśli przypiszę tego GETa do zmiennej (ustawiałem również typ ręcznie) to jest ona pusta?
Go to the top of the page
+Quote Post
CuteOne
post 29.01.2013, 09:06:15
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Poczytaj o zasięgu zmiennych.

  1. function progressCallback( $download_size, $downloaded_size, $upload_size, $uploaded_size )
  2. {
  3. global $id;
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.06.2025 - 06:48