Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pobieranie adresu pliku przez curl i pregmatch
Forum PHP.pl > Forum > PHP
weqq
Kod z file zwracający zmienny adres pliku

  1. $plik = file('adres');
  2. $zrodlo = implode('', $plik);
  3. preg_match('/<img src=([^>]*) 127/si', $zrodlo, $img['imag']);
  4.  
  5. $adres='adres'.$img['imag'][1];
  6. echo $adres

Przepisałem to do curl :
  1. $plik ='adres';
  2.  
  3. $link=curl_init($plik);
  4.  
  5. curl_setopt($link, CURLOPT_URL,$plik);
  6. curl_setopt($link, CURLOPT_RETURNTRANSFER, true);
  7. curl_setopt($link, CURLOPT_REFERER, 'adres');
  8. curl_setopt($link, CURLOPT_FOLLOWLOCATION, TRUE);
  9. curl_setopt($link, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)');
  10. curl_setopt($link, CURLOPT_COOKIEFILE, "cookies.txt");
  11. curl_setopt($link, CURLOPT_COOKIEJAR, "cookies.txt");
  12.  
  13. $wynik = curl_exec ($link);
  14.  
  15. preg_match('/<img src=([^>]*) 127/si', $wynik, $img['imag']);
  16. $url='adres' . $img['imag'][1];
  17.  
  18. echo $url

Nie wyświetla żadnych błędów tylko zwraca sam adres.(bez zmiennych).
Gdzie leży błąd? Jak go poprawić?
Szukałem już w google i na forach czytałem dokumentacje i nadal nie widzę błędu a curl i open ssl mam zainstalowane i włączone.
Daimos
nie wiem jak masz ustawione bledy, wiec profilaktycznie uzyj try catch
wyswietl sobie wynik, pozniej to co zwraca preg, kolejno
weqq
kod się dalej wykonuje nie wyświetlając błędów

  1. try {
  2. $link=curl_init($plik);
  3.  
  4. curl_setopt($link, CURLOPT_URL,$plik);
  5. curl_setopt($link, CURLOPT_RETURNTRANSFER, true);
  6. curl_setopt($link, CURLOPT_REFERER, 'adres');
  7. curl_setopt($link, CURLOPT_FOLLOWLOCATION, TRUE);
  8. curl_setopt($link, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)');
  9. curl_setopt($link, CURLOPT_COOKIEFILE, "cookies.txt");
  10. curl_setopt($link, CURLOPT_COOKIEJAR, "cookies.txt");
  11.  
  12. $wynik = curl_exec ($link);
  13. } catch (Exception $obiekt) {
  14. echo curl;
  15. }
  16.  
  17. try {
  18. preg_match('/<img src=([^>]*) 127/si', $wynik, $img['imag']);
  19. } catch (Exception $obiekt) {
  20. }

domyślna konfiguracja xampa z aktywowanym ssl i curl
vermis
Cytat(weqq @ 3.06.2010, 15:42:34 ) *
echo curl;
...
echo preg_match;


Masz takie stałe, że chcesz je wyświetlać?
Daj z przodu error_reporting(E_ALL) i wyświetl zawartość zmiennej $wynik czy cokolwiek w niej jest.
weqq
coś z curlem $wynik jest pusty i nie tworzy pliku cookies.txt.
error_reporting zwraca tylko że $img['imag'][1] jest puste
ups z pośpiechu nie wstawiłem cudzysłowu do wyświetlanych stringów

Już sobie z tym poradziłem lepiej było sprawdzać przez curl_errno
temat do zamknięcie
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.