![]() |
![]() |
![]()
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. |
|
|
![]() |
![]()
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.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
|
|
|
![]()
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 |
|
|
![]()
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 |
|
|
![]()
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ś... |
|
|
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 19:54 |