Пошлите переменную в другой сервер и получите результат с PHP

Хорошо я хочу послать переменную PHP в другой сервер, это - мой код, PHP переменная - IP-адрес.

 header("Location: http://www.domainname.com/bean/data.php?ip=$ip");

В основном другой сервер получит IP-адрес и возвратит переменную под названием Описание, на чем я неясен, лучший способ возвратить переменную описания назад к серверу.

код на data.php странице

 $ip =$_GET['ip'];
 include("ipology.class.php");
 $ipology = new ipology( array($ip) );
 $out = $ipology->out();
 foreach( $out as $ip ) {
    if( is_array( $ip ) ) {
       $address = implode( ", ", (array) $ip['address'] );
       $descr = implode( ", ", (array) $ip['descr'] );
       echo "$descr";
    }
 }
4
Вы won' t использовать заголовок() для этого
добавлено автор John Conde, источник
в зависимости от вашей ситуации необходимо выполнить a сервер или клиент запрос стороны к другому серверу. Ни одного из тех не происходит с заголовок() .
добавлено автор Nick Andriopoulos, источник
в зависимости от вашей ситуации необходимо выполнить a сервер или клиент запрос стороны к другому серверу. Ни одного из тех не происходит с заголовок() .
добавлено автор Nick Andriopoulos, источник
поиск вокруг завитка
добавлено автор Jonathan, источник
поиск вокруг завитка
добавлено автор Jonathan, источник
Как этот вы выполняете перенаправление. Проверьте ответы, необходимо использовать завиток или file_get_contents ().
добавлено автор V.Vachev, источник

10 ответы

Возникновение сервера могло использовать (в качестве упоминаний Фила Кросса) file_get_contents или завиток:

$response = file_get_contents('http://www.domainname.com/bean/data.php?ip='.$ip);
print_r( $response );

Удаленный сервер мог использовать:

if ( isset( $_GET['ip'] ) && $_GET['ip'] ) {
  # do description lookup and 'echo' it out:
}

Используя заголовок ('местоположение: xxx'); функция, что вы по существу делаете, вынуждает PHP на происходящем сервере ответить 302 заголовками переназначения, которые пошлют клиента в удаленный сервер, но нет никакого 'возвращения' от удаленного сервера до возникновения.

2
добавлено
Привет Спасибо, я добавил, что содержание data.php страницы (добавленный к оригинальной почте) к # делает что-то здесь раздел, но это doesn' t возвращают что-нибудь?
добавлено автор user1691024, источник

Возникновение сервера могло использовать (в качестве упоминаний Фила Кросса) file_get_contents или завиток:

$response = file_get_contents('http://www.domainname.com/bean/data.php?ip='.$ip);
print_r( $response );

Удаленный сервер мог использовать:

if ( isset( $_GET['ip'] ) && $_GET['ip'] ) {
  # do description lookup and 'echo' it out:
}

Используя заголовок ('местоположение: xxx'); функция, что вы по существу делаете, вынуждает PHP на происходящем сервере ответить 302 заголовками переназначения, которые пошлют клиента в удаленный сервер, но нет никакого 'возвращения' от удаленного сервера до возникновения.

2
добавлено
Привет Спасибо, я добавил, что содержание data.php страницы (добавленный к оригинальной почте) к # делает что-то здесь раздел, но это doesn' t возвращают что-нибудь?
добавлено автор user1691024, источник

Тот заголовок просто перенаправит пользователя к тому веб-сайту. Вы хотите использовать что-то как file_get_contents () если ваша конфигурация сервера допускает удаленный доступ к файлу.

If not, look into cURL

Можно захватить содержание от возвращения завитка и обработать их тот путь.

1
добавлено

Тот заголовок просто перенаправит пользователя к тому веб-сайту. Вы хотите использовать что-то как file_get_contents () если ваша конфигурация сервера допускает удаленный доступ к файлу.

If not, look into cURL

Можно захватить содержание от возвращения завитка и обработать их тот путь.

1
добавлено

Можно использовать два метода:

Если единственная продукция целевой страницы - описание, то можно использовать

$description = file_get_contents("http://target.page?ip=xxx.xxx.xxx.xxx");

В противном случае можно использовать завиток как это:

// Create Post Information
$vars = array(
'ip'=>'xxx.xxx.xxx.xxx',
'some_other_info'=>'xxx'
);


// urlencode the information if needed
$urlencoded = http_build_query($vars);

if( function_exists( "curl_init" )) { 
    $CR = curl_init();
    curl_setopt($CR, CURLOPT_URL, 'http://distantpage');
    curl_setopt($CR, CURLOPT_POST, 1);
    curl_setopt($CR, CURLOPT_FAILONERROR, true);
    curl_setopt($CR, CURLOPT_POSTFIELDS, $urlencoded );
    curl_setopt($CR, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($CR, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($CR, CURLOPT_FAILONERROR,true);


    $result = curl_exec( $CR );
    $error = curl_error ( $CR );


   //if there's error
    if( !empty( $error )) {
            echo $error;
            return;
    }

    curl_close( $CR );

}

parse_str($result, $output);
echo $output['description']; //get description
1
добавлено
Привет Спасибо, но я не уверен, как я включил бы содержание своей data.php страницы к этому? и don' t видят, как вы производили эхо
добавлено автор user1691024, источник
ваш data.php должен произвести что-то как: description=description и материал...&other_info=other информация и другой материал.. и затем можно отозваться эхом $output [' description'] или $output [' other_info']
добавлено автор user2050393, источник

Можно использовать два метода:

Если единственная продукция целевой страницы - описание, то можно использовать

$description = file_get_contents("http://target.page?ip=xxx.xxx.xxx.xxx");

В противном случае можно использовать завиток как это:

// Create Post Information
$vars = array(
'ip'=>'xxx.xxx.xxx.xxx',
'some_other_info'=>'xxx'
);


// urlencode the information if needed
$urlencoded = http_build_query($vars);

if( function_exists( "curl_init" )) { 
    $CR = curl_init();
    curl_setopt($CR, CURLOPT_URL, 'http://distantpage');
    curl_setopt($CR, CURLOPT_POST, 1);
    curl_setopt($CR, CURLOPT_FAILONERROR, true);
    curl_setopt($CR, CURLOPT_POSTFIELDS, $urlencoded );
    curl_setopt($CR, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($CR, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($CR, CURLOPT_FAILONERROR,true);


    $result = curl_exec( $CR );
    $error = curl_error ( $CR );


   //if there's error
    if( !empty( $error )) {
            echo $error;
            return;
    }

    curl_close( $CR );

}

parse_str($result, $output);
echo $output['description']; //get description
1
добавлено
Привет Спасибо, но я не уверен, как я включил бы содержание своей data.php страницы к этому? и don' t видят, как вы производили эхо
добавлено автор user1691024, источник
ваш data.php должен произвести что-то как: description=description и материал...&other_info=other информация и другой материал.. и затем можно отозваться эхом $output [' description'] или $output [' other_info']
добавлено автор user2050393, источник

Этот отрывок использует JSON, чтобы возвратить стоимость, это позволит вам возвращать многократные ценности в будущем, если ваши требования расширятся.

Я, как правило, использую xml вместо JSON, но кажется, что это выходит из стиля:-P

Сообщите мне, работает ли это на вас.

<?php

$output = file_get_contents("http://www.domainname.com/bean/data.php?ip=$ip");

// This is what would go in data.php
$output = '{ "ip": "127.0.0.1", "description": "localhost" }';

$parsed = json_decode($output);

echo "Description for $parsed->ip is $parsed->description\n";

// var_dump($parsed);
0
добавлено

Этот отрывок использует JSON, чтобы возвратить стоимость, это позволит вам возвращать многократные ценности в будущем, если ваши требования расширятся.

Я, как правило, использую xml вместо JSON, но кажется, что это выходит из стиля:-P

Сообщите мне, работает ли это на вас.

<?php

$output = file_get_contents("http://www.domainname.com/bean/data.php?ip=$ip");

// This is what would go in data.php
$output = '{ "ip": "127.0.0.1", "description": "localhost" }';

$parsed = json_decode($output);

echo "Description for $parsed->ip is $parsed->description\n";

// var_dump($parsed);
0
добавлено

Хорошо, если мы предполагаем, что data.php возвращает только описание, можно использовать

echo file_get_contents("http://www.domainname.com/bean/data.php?ip=".$ip);

Это должно сделать, работа, но использующий ЗАВИТОК является наилучшим вариантом.

0
добавлено

Хорошо, если мы предполагаем, что data.php возвращает только описание, можно использовать

echo file_get_contents("http://www.domainname.com/bean/data.php?ip=".$ip);

Это должно сделать, работа, но использующий ЗАВИТОК является наилучшим вариантом.

0
добавлено
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp