|
автор: Гость (30.05.2005 в 12:17) |
|
| Есть сайт xxx.ru и yyy.ru.
предположим на сайте xxx.ru я создаю страницу index.php и хочу чтобы брался контект со страницы yyy.ru/index.php.
Да, я могу вставить код
include "http://yyy.ru/index.php";
| . Это работает, но мне необходимо передать некие параметры на страницу http://yyy.ru/index.php и исходя из этого построить какой-то другой динамический контент. Непосредственно передача параметров методом GET работает, но необходимо чтобы было типа вот такого
$perem1 = "1";
$perem2 = "2";
include "http://yyy.ru/index.php";
|
Чтобы две переменные $perem1 и $perem2 были видны на странице http://yyy.ru/index.php как переменные.
Возможно ли такое?
Через сокеты вообще не пойму как передать переменные.
Подскажите пожалуйста... | |
|
|
|
|
|
|
|
для: Гость
(30.05.2005 в 12:17)
| |
$perem1 = "1";
$perem2 = "2";
include "http://yyy.ru/index.php?perem1=$perem1&perem2=$perem2";
|
если я правильно понял... | |
|
|
|
|
|
|
|
для: denvor
(30.05.2005 в 12:58)
| | А вообще да, передайте их через параметры... | |
|
|
|
|
|
|
|
для: Гость
(30.05.2005 в 12:17)
| | Как работать с сокетами описывается в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=600
Вот обращение к сайту www.xxx.ru/index.php
<?php
$fp = fsockopen("www.xxx.ru", 80, $errno, $errstr, 30);
if (!$fp)
{
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET /index.php HTTP/1.1\r\n";
$out .= "Host: www.xxx.ru\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>
|
Для того, чтобы передать параметры m=1&n=2 их следует доабавить после метода GET
<?php
$fp = fsockopen("www.xxx.ru", 80, $errno, $errstr, 30);
if (!$fp)
{
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET /index.php?m=1&n=2 HTTP/1.1\r\n";
$out .= "Host: www.xxx.ru\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>
|
| |
|
|
|
|
автор: Гость (03.06.2005 в 12:10) |
|
|
для: cheops
(30.05.2005 в 13:02)
| | Предположим я использую file_get_contents, include или сокеты. Могу ли я на сайте yyy.ru узнать с какого сайта был запрос? | |
|
|
|
|
|
|
|
для: Гость
(03.06.2005 в 12:10)
| | Т.е. отличить сокет или скрипт от обычного посетителя? Или имеется ввиду что-то другое? | |
|
|
|
|
автор: Гость (03.06.2005 в 12:45) |
|
|
для: cheops
(03.06.2005 в 12:16)
| | код вот такой в скрипте xxx.ru/index.php
include "yyy.ru/index.php";
|
я хочу узнать yyy.ru/index.php с какого сайта был запрос. Т.е. в конечном счете мне нужно получить, что запрос был с сайта xxx.ru | |
|
|
|
|
|
|
|
для: Гость
(03.06.2005 в 12:45)
| | Узнать точный адресе сайта вряд ли получится.
В первую очередь следует проверить элемент суперглобального массива
$_SERVER["HTTP_USER_AGENT"]
|
Если там будет что-то вроде PHP или не будет ничего, значит к скрипту обращается другой сервер (но эта строка может подделываться, поэтому гараний тут быть не может).
Затем следует узнать IP-адрес, обратившегося сервера
и восстановить его домен при помощи функции gethostbyaddr
<?php
gethostbyaddr($_SERVER["REMOTE_ADDR"]);
?>
|
Это решение сработает не всегда и не со всеми, но возможно поможет вам. | |
|
|
|