Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wydobywanie adresu hosta
bruit
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.03.2011

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


W skrypcie PHP chciałbym pobrać źródło strony jako string. Można to zrobić na wiele sposobów, ale dodatkowym warunkiem jest uzyskanie root folderu dla pliku z tym źródłem

Przykład 1:
www.foo.pl/index.php
root folder: www.foo.pl

Przykład 2:
www.foo.pl/bar/index.php
w tym przypadku będzie to www.foo.pl/bar/

Za pomocą cURL udało mi się wyciągnąć nagłówki żądania, jednak żaden z nich nie informuje mnie o tym czego potrzebuję, bo HOST w obu przykładach zawiera "www.foo.pl"

Wydawać by się mogło, że nie jest to nic trudnego, w URL wystarczy znaleźć .php i od niego odnaleźć "/". Jednak problem pojawia się gdy na serwerze jest mod rewrite. Wtedy nie wiadomo co jest częścią ścieżki a co już parametrami żądania.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A zerknij sobie, co masz w $_SERVER. Poszukaj dobrze, znajdziesz wszystko.
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #3





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


parse_url
oraz
basedir lub pathinfo
Go to the top of the page
+Quote Post
bruit
post
Post #4





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.03.2011

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


Nie do końca o to mi chodziło. Postaram się lepiej wytłumaczyć.
Na początek kawałek mojego skryptu:
CODE

$url = "http://www.foo.pl/bar/index.php";
$handle = fopen($url, "r");
$content = '';
while (!feof($handle)) {
$content .= fread($handle, 8192);
}
fclose($handle);


W tablicy $_SERVER znajdują się informacje o moim serwerze i skrypcie (tym, w którym znajduje się powyższy kod). Więc $_SERVER['HOST'] nie zwróci mi foo.pl tylko mojego hosta.

Hatak.pl ma mod rewrite i posłużę się przykładem tej strony:
http://hatak.pl/news/10126/Anulowany_seria...ow_na_Sundance/

załóżmy, że chciałbym pobrać źródło tej strony i uzyskać informacje o lokalizacji skryptu. W tym przypadku jest to po prostu http://hatak.pl i news.php. W jaki sposób mogę uzyskać taką informację, bo np. gdyby hatak miał ścieżkę

http://hatak.pl/strona/news/10126/Anulowan...ow_na_Sundance/ wówczas interesowałby mnie adres http://hatak.pl/strona/

Ten post edytował bruit 6.03.2011, 14:43:19
Go to the top of the page
+Quote Post
filka
post
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 5.11.2006

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


a może to się przyda
Temat: DNS skrypt sprawdzania nazwy hosta
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Dostałeś link do parse_url
Nawet nie przejrzałeś...
Go to the top of the page
+Quote Post
bruit
post
Post #7





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.03.2011

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


Dostałem dostałem. I nawet przejrzałem. Prosty przykład:

URL: http://bleble.pl/a/b/c/d/e/d/g/

$info = parse_url("http://bleble.pl/a/b/c/d/e/d/g/");
print_r ($info);

out:
Array ( [scheme] => http [host] => bleble.pl [path] => /a/b/c/d/e/d/g/ )

wg tego: hostem jest bleble.pl (zgadzam się) ale path? to mi o niczym nie mówi, bo:

a.
http://bleble.pl - host
/a - skrypt
/b/c/d/e/d/g/ - parametry żądania

b.

http://bleble.pl - host
/a - folder na serwerze
/b - skrypt
/c/d/e/d/g/ - parametry żądania

@filka: dzięki za link, potem sprawdzę i dam znać.

Ten post edytował bruit 8.03.2011, 17:29:14
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 19:54