Сделайте запрос PHP GET из PHP-скрипта и выйдите - PullRequest
1 голос
/ 06 мая 2010

Есть ли что-то попроще, чем следующее.

Я пытаюсь сделать GET-запрос к сценарию PHP, а затем выйти из текущего сценария.

Я думаю, что это работа для CURL, но есть ли что-то более простое, так как я не хочу беспокоиться о включении расширения CURL php?

Кроме того, приведенные ниже запустят скрипт PHP, а затем просто вернутся и не дожидаются его завершения?

//set GET variables
$url = 'http://domain.com/get-post.php';

$fields = array(
    'lname'=>urlencode($last_name),
    'fname'=>urlencode($first_name)
    );

//url-ify the data for the GET
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string,'&');

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_GET,count($fields));
curl_setopt($ch,CURLOPT_GETFIELDS,$fields_string);

//execute GET
$result = curl_exec($ch);

//close connection
curl_close($ch);

Я хочу запустить другой скрипт, который содержит функции при выполнении условия, поэтому простое включение не сработает, так как условие if оборачивается вокруг функций, верно?

Обратите внимание, что я на Windows-машине, и код, который я пишу, будет использоваться только в ОС Windows.

Спасибо всем за любую помощь и совет

1 Ответ

6 голосов
/ 06 мая 2010
$url = 'http://domain.com/get-post.php?lname=' . urlencode($last_name) . '&fname=' . urlencode($first_name);
$html = file_get_contents($url);

Если вы хотите использовать метод сборки строки запроса (из кода, который вы разместили):

//set GET variables
$url = 'http://domain.com/get-post.php';

$fields = array(
    'lname'=>urlencode($last_name),
    'fname'=>urlencode($first_name)
    );

//url-ify the data for the GET
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string,'&');
$html = file_get_contents($url . '?' . $fields_string);

См: http://php.net/manual/en/function.file-get-contents.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...