是否有比以下更简单的东西。
我正在尝试向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操作系统上使用。
感谢所有人的帮助和建议
答案 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