Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] cURL, wyświetla zawartość bez wywołania echo.
olszam
post 4.07.2018, 08:26:07
Post #1





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

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


Mam 2 funkcje do cURL gdzie w jednym pobieram zawartość strony na podstawie samego linka a w drugim z żądania POST.
  1. function grab_page($site){
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  4. curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
  5. curl_setopt($ch, CURLOPT_TIMEOUT, 40);
  6. curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
  7. curl_setopt($ch, CURLOPT_URL, $site);
  8. return curl_exec ($ch);
  9. curl_close ($ch);
  10. }
  11.  
  12. function post_data($site,$data){
  13. $datapost = curl_init();
  14. $headers = array("Expect:");
  15. curl_setopt($datapost, CURLOPT_URL, $site);
  16. curl_setopt($datapost, CURLOPT_TIMEOUT, 40000);
  17. curl_setopt($datapost, CURLOPT_HEADER, TRUE);
  18. curl_setopt($datapost, CURLOPT_HTTPHEADER, $headers);
  19. curl_setopt($datapost, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
  20. curl_setopt($datapost, CURLOPT_POST, TRUE);
  21. curl_setopt($datapost, CURLOPT_POSTFIELDS, $data);
  22. curl_setopt($datapost, CURLOPT_COOKIEFILE, "cookie.txt");
  23. return curl_exec ($datapost);
  24. curl_close ($datapost);
  25. unset($datapost);
  26. }
  27. //login($url,$postinfo);
  28. $html1 = str_get_html(iconv("iso-8859-2","UTF-8",post_data('link','post=przyklad'))); //nie dawałem konkretnego linku bo przy każdym tak działa.
  29. $html2 = str_get_html(iconv("iso-8859-2","UTF-8",grab_page('link')));


ogólnie funkcja grab_page działa dobrze bo zapisuje mi do zmiennej, ale post_data jakoś dziwnie mi działa, zapiszę do zmiennej $html1 nie dając ani echo, print etc. a mimo wszystko wyświetla mi kod html.
Go to the top of the page
+Quote Post
nospor
post 4.07.2018, 08:42:10
Post #2





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




W post_data musisz dodac
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
ktore nie bedzie plulo zawartoscia od razu na ekran

ps: widze ze nie wiesz, ze po RETURN zaden kod sie nie wykona wiec masz kupe bezsensownych linijek w obu funkcjach


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
olszam
post 4.07.2018, 09:14:53
Post #3





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

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


dzięki działa już a z tym kodem po return to tak jakoś wyszło smile.gif
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 Wersja Lo-Fi Aktualny czas: 28.03.2024 - 20:27