Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [curl] Dlaczego nie mogę wczytać linku ze zmiennej?
Forum PHP.pl > Forum > Przedszkole
signal
Cześć. Czy ktoś mógłby wytłumaczyć mi dlaczego, kiedy próbuje wczytać adres za pomocą zmiennej to funkcja nie działa? W przypadku użycia stałej nie ma problemu.

  1. define('LINK', 'moja-strona.pl/user_xxx.html');
  2.  
  3. function funkcja()
  4. {
  5. $curlchanel = curl_init(LINK);
  6. curl_setopt($curlchanel, CURLOPT_USERAGENT, SETUSERAGENT);
  7. curl_setopt($curlchanel, CURLOPT_COOKIEJAR, 'cookie.txt');
  8. curl_setopt($curlchanel, CURLOPT_COOKIEFILE, 'cookie.txt');
  9. curl_setopt($curlchanel, CURLOPT_HEADER, 0);
  10. curl_setopt($curlchanel, CURLOPT_RETURNTRANSFER, 1);
  11. $wynik=curl_exec($curlchanel);
  12. $wyrazenie = 'xxxxx';
  13. preg_match($wyrazenie, $wynik, $id);
  14. curl_close($curlchanel);
  15. return $id[1];
  16. }


Kod powyżej działa bez problemu, ale chciałbym żeby wyglądał on tak:

  1. $user = 100;
  2. $url = 'moja-strona.pl/user_$user.html';
  3.  
  4. function funkcja()
  5. {
  6. $curlchanel = curl_init($url);
  7. curl_setopt($curlchanel, CURLOPT_USERAGENT, SETUSERAGENT);
  8. curl_setopt($curlchanel, CURLOPT_COOKIEJAR, 'cookie.txt');
  9. curl_setopt($curlchanel, CURLOPT_COOKIEFILE, 'cookie.txt');
  10. curl_setopt($curlchanel, CURLOPT_HEADER, 0);
  11. curl_setopt($curlchanel, CURLOPT_RETURNTRANSFER, 1);
  12. $wynik=curl_exec($curlchanel);
  13. $wyrazenie = 'xxxxx';
  14. preg_match($wyrazenie, $wynik, $id);
  15. curl_close($curlchanel);
  16. return $id[1];
  17. }


Tutaj funkcja nie działa.
KsaR
Stałe mają zasięg globalny, zmienne nie.

  1. //Twoja funkcja
  2. function funkcja($url)
  3. {
  4. $curlchanel = curl_init($url);
  5. #....
  6. }
  7.  
  8. funkcja($url); // wywolanie.

Tak mozesz zrobic
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.