Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pobieranie danych za pomocą preg_match a przekierowanie 301
Forum PHP.pl > Forum > PHP
takijeden
Witam, mam mały problem.

piszę właśnie automat do pobierania danych z pewnej strony.

robię to tak:

ze strony
www.strona.pl/1/podkarpacie/firmatransportowa

pobieram za pomocą preg_math pewien ciąg i sobie go zapisuję.

Ważne jesst to, że liczba 1 to id strony.

przechodząc do meritum:
gdy w adresie URL w przeglądarce zmienię /1/ na /2/ na inny to pojawia się inna strona. Wszystko byłoby fajnie, tyle że oprócz strony zmienia się link na

www.strona.pl/2/malopolska/firmahandlowa

co za tym idzie puszczenie preg_match na www.strona.pl/2/podkarpacie/firmatransportowa nie pomoże.

żeby zobrazować wejdźcie proszę pod adres: http://www.gastronauci.pl/12112-bar-lam-hong-krakow
zmiencie 12112 na 12111 i sprawdźcie jak się zachowuje końcówka url.

czy macie jakiś pomysł jak obejść ten problem? Tak aby np skrypt sam "poprawiał sobie url na własciwy i dopiero z niego pobierał dane?

pozdrawiam
johny_s
jak to pobierasz curlem to jest taka flaga jak follow url czy cos takiego, z follow na poczatku, daj sobie to na true
takijeden
tak:

$ch = curl_init();
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;

gdzie dać to follow na true?
IProSoft
  1. $ch = curl_init();
  2. $timeout = 5;
  3. curl_setopt($ch,CURLOPT_URL,$url);
  4. curl_setopt($ch,CURLOPT_FOLLOWLOCATION, true);
  5. curl_setopt($ch,CURLOPT_MAXREDIRS, 3);
  6. curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  7. curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
  8. $data = curl_exec($ch);
  9. curl_close($ch);
  10. return $data;
takijeden
działa, dzięki.
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.