从PHP脚本发出PHP GET请求并退出

时间:2010-05-06 09:58:01

标签: php curl

是否有比以下更简单的东西。

我正在尝试向PHP脚本发出GET请求,然后退出当前脚本。

我认为这是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 个答案:

答案 0 :(得分:6)

$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