Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] curl progress - fopen problem?
Forum PHP.pl > Forum > Przedszkole
m.b
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 :/
Posio
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 ...
m.b
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?
CuteOne
Poczytaj o zasięgu zmiennych.

  1. function progressCallback( $download_size, $downloaded_size, $upload_size, $uploaded_size )
  2. {
  3. global $id;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.