Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z funkcją explode, to nie string?
Forum PHP.pl > Forum > Przedszkole
cykcykacz
Witam,
mam problem ze stworzeniem tablicy przy pomocy funkcji explode.

Mam skrypt dzięki któremu wyświetla mi się taki wynik "0 200 301" ale nie wiem jak to teraz załadować do tablicy:
Skrypt:
  1. $nodes = array('http://www.12aaaaaaaaaa.pl', 'http://www.daniweb.com', 'http://www.yahoo.com');
  2. function httpcode($nodes) {
  3. $curl_arr = array();
  4. $master = curl_multi_init();
  5. for($i = 0, $count=count($nodes); $i < $count; $i++)
  6. {
  7. $url = $nodes[$i];
  8. $curl_arr[$i] = curl_init();
  9. curl_setopt($curl_arr[$i], CURLOPT_RETURNTRANSFER, true);
  10. curl_setopt($curl_arr[$i], CURLOPT_URL, $nodes[$i] );
  11. curl_setopt($curl_arr[$i], CURLOPT_CONNECTTIMEOUT, 20);
  12. curl_setopt($curl_arr[$i], CURLOPT_NOBODY, true);
  13. curl_setopt($curl_arr[$i], CURLOPT_HEADER, true);
  14. curl_multi_add_handle($master, $curl_arr[$i]);
  15. }
  16. do {
  17. curl_multi_exec($master,$running);
  18. } while($running > 0);
  19. for($i = 0; $i < $count; $i++)
  20. {
  21. $results = curl_multi_getcontent ( $curl_arr[$i] );
  22. //var_dump();
  23. if($results == null) {
  24. echo '0 ';
  25. } else {
  26. $replace = substr($results, 0, 13);
  27. echo $text = str_replace('HTTP/1.1', '', $replace);
  28. }
  29. }
  30. $end = microtime(true);
  31.  
  32. }
  33.  
  34. $test = httpcode($nodes);
  35. var_dump( explode( " ", $test) );


Wynik na ekranie:
Kod
0 200 301

array (size=1)
  0 => string '' (length=0)


A chciałbym z tego zrobić tablice, nie wiem co jest nie tak? to nie string?

[EDIT]
Ok już sobie poradziłem:
  1. $nodes = array('http://www.12aaaaaaaaaa.pl', 'http://www.daniweb.com', 'http://www.yahoo.com');
  2. function httpcode($nodes) {
  3. $curl_arr = array();
  4. $master = curl_multi_init();
  5. for($i = 0, $count=count($nodes); $i < $count; $i++)
  6. {
  7. $url = $nodes[$i];
  8. $curl_arr[$i] = curl_init();
  9. curl_setopt($curl_arr[$i], CURLOPT_RETURNTRANSFER, true);
  10. curl_setopt($curl_arr[$i], CURLOPT_URL, $nodes[$i] );
  11. curl_setopt($curl_arr[$i], CURLOPT_CONNECTTIMEOUT, 20);
  12. curl_setopt($curl_arr[$i], CURLOPT_NOBODY, true);
  13. curl_setopt($curl_arr[$i], CURLOPT_HEADER, true);
  14. curl_multi_add_handle($master, $curl_arr[$i]);
  15. }
  16. do {
  17. curl_multi_exec($master,$running);
  18. } while($running > 0);
  19. $szymon = array();
  20. for($i = 0; $i < $count; $i++)
  21. {
  22. $results = curl_multi_getcontent ( $curl_arr[$i] );
  23. //var_dump();
  24. if($results == null) {
  25. $szymon[] = '0 ';
  26. } else {
  27. $replace = substr($results, 0, 13);
  28. $szymon[]= $text = str_replace('HTTP/1.1', '', $replace);
  29. }
  30. }
  31. return $szymon;
  32. $end = microtime(true);
  33.  
  34. }
  35.  
  36. print_r(httpcode($nodes));
toffiak
Funkcja httpcode nic nie zwraca więc zmienna $test jest nulem.
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.