Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Pobieranie danych z innej strony
Forum PHP.pl > Forum > Przedszkole
suchy1
Witam

szukałem na forum ale nie znalazłem wiec pisze nowy post. Chcialbym pobierac np z www.google.pl informacje, dokladniej: META Name, ICON. Generalnie nie wiem czy mam do tego uzyc curl czy moze file_get_contents czy moze cos innego, generlanie na forum kazdy o tym pisze ale nikt nie napisal gotowego skryptu ktory dziala.

  1. <?
  2. $content=file_get_contents("http://www.google.com",FALSE,NULL,0,20);
  3. echo $content;
  4. ?>


w/w skrypt nie wyswietlanic, mozna wiedziec czemu?!
PawelC
poniżej napisałem krótki kod który wyświetli Ci strone której adres wpiszesz w $ch
  1. <?php
  2. $ch = curl_init('http://www.google.pl/');
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  4. echo curl_exec($ch);
  5. curl_close($ch);
  6. ?>

Według mnie użycie cURL jest lepszym wyjściem.
suchy1
dzieki za info, ale powiedz mi jak dokladnie pobrac TAGI a nie cala strone. Twoje rozwiazanie dziala ale co z tego jak ja chce poprostu przechwycic np. TITLE strony i wyswietlic, nie pisz skryptu tlyko np podaj adres gdzie sie tego dowiem...
webdice
Poczytaj o get_meta_tags" title="Zobacz w manualu PHP" target="_manual.
suchy1
  1. <?php
  2. $tags = get_meta_tags('www.wp.pl');
  3. echo $tags['author'];
  4.  
  5. ?>


Nie wiem czemu ale chyba nie potrafie korzystac z manuala. Zrobilem taki skrypt i nie podaje mi autora, wielkosc liter ma znaczenie wiec wszystko skopiowalem czmu w/w skrypt nie wyswietla autora?!
webdice
Przynajmniej przeczytałeś błąd który Ci wyskakuje?

  1. <?php
  2.  
  3. $tags = get_meta_tags ('http://wp.pl');
  4.  
  5. echo $tags['author'];
  6.  
  7. ?>


Musisz podawać adres z http.
suchy1
nic mi sie nie wyswietla, wczesniej prowalem juz z http bez rezultatu :/
webdice
Nic się nie wyświetla czy masz jakiś błąd? Spróbuj jeszcze tak i w razie wyświetlania się błędu skopiuj go tu:

  1. <?php
  2.  
  3. ini_set ('error_reporting', E_ALL);
  4. ini_set ('display_errors', 1);
  5.  
  6. $tags = get_meta_tags ('http://wp.pl');
  7.  
  8. echo $tags['author'];  
  9.  
  10. ?>
suchy1
  1. <?php
  2. Warning: get_meta_tags() [function.get-meta-tags]: URL file-access is disabled in the server configuration in /home/arkadia.www/public_html/test/meta.php on line 6
  3.  
  4. Warning: get_meta_tags(http://wp.pl) [function.get-meta-tags]: failed to open stream: no suitable wrapper could be found in /home/arkadia.www/public_html/test/meta.php on line 6
  5. ?>


Wina lezy postronie mojego serwera?!, jezeli tak to jakiej komendy uzyc?. Weddicepl dzieki za pomoc smile.gif
webdice
Możesz spróbować:

  1. <?php
  2. ini_set ('allow_url_fopen', 'On');
  3. ?>


lub jeśli masz dostęp do php.ini ustaw allow_url_fopen na On.

EDIT: Jeśli nie masz jednak dostępu do php.ini możesz ominąć to w taki sposób (o ile masz dostęp do cURL).

  1. <?php
  2.  
  3. $cURL = curl_init ();
  4.  
  5. $host = 'http://wp.pl/';
  6.  
  7. $header[] = "Host: $host";
  8. $header[] = "MIME-Version: 1.0";
  9. $header[] = "Content-type: multipart/mixed; boundary= ";
  10. $header[] = "Accept: text/xml";
  11. $header[] = "Content-length: ";
  12. $header[] = "Cache-Control: no-cache";
  13. $header[] = "Connection: close r\n";
  14.  
  15. curl_setopt ($cURL, CURLOPT_URL, $host);
  16. curl_setopt ($cURL, CURLOPT_HTTPHEADER,  $header);
  17. curl_setopt ($cURL, CURLOPT_RETURNTRANSFER, 1);
  18.  
  19. file_put_contents ('temp.txt', curl_exec ($cURL));
  20.  
  21. curl_close ($cURL);
  22.  
  23. $tags = get_meta_tags ('temp.txt', false);
  24.  
  25. echo $tags['author'];
  26.  
  27. unlink ('temp.txt');
  28.  
  29. ?>


Oczywiście nie zapomnij o CHMOD'ach dla pliku temp.txt. Jeśli nie masz dostępu do cURL, poczytaj o funkcji dl" title="Zobacz w manualu PHP" target="_manual, a jeśli to Ci nie pomoże pozostaje Ci mail do administratora.
suchy1
działa!, moznesz mi jeszcze powiedziec gdzie moge poczytac o curl, oprocz manuala ktory jest dla mnie malo pomocy? Pozdrawiam
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.