Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> pobieranie adresu pliku przez curl i pregmatch
weqq
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.06.2010

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


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Daimos
post
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


nie wiem jak masz ustawione bledy, wiec profilaktycznie uzyj try catch
wyswietl sobie wynik, pozniej to co zwraca preg, kolejno


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
weqq
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.06.2010

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


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
Go to the top of the page
+Quote Post
vermis
post
Post #4





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

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


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.


--------------------
Go to the top of the page
+Quote Post
weqq
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.06.2010

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


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
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 Aktualny czas: 21.08.2025 - 04:28