首页 > 解决方案 > 将 PHP 变量传递给 curl_init

问题描述

以下 PHP 代码可以正常工作,将特定的 IP 地址传递给 curl_init:

$ch = curl_init('https://ipgeolocation.abstractapi.com/v1/?api_key=my_key&ip_address=5.79.66.162');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);    
curl_setopt($ch, CURLOPT_HEADER, 0);  

$data = curl_exec($ch);    
curl_close($ch);  

$yummy = json_decode($data);     
$country= $yummy->country;    //this is working fine. country is being passed

============================================

但我需要在 curl_init 中的变量中传递 ip 地址。但是,您不能在单引号之间传递 PHP 变量。所以下面的 curl_init 语句不起作用。

$ip="5.79.66.162";
$ch = curl_init('https://ipgeolocation.abstractapi.com/v1/?api_key=my_key&ip_address=$ip');

上面的代码 = 需要如何更改才能使用变量进行调用?

我将不胜感激任何人都可以提供的帮助。

标签: phpcurl

解决方案


但是,您不能在单引号之间传递 PHP 变量

没错,所以你可以在这里使用双引号或字符串连接:

$ip="5.79.66.162";
$ch = curl_init("https://ipgeolocation.abstractapi.com/v1/?api_key=my_key&ip_address=$ip");

或者

$ip="5.79.66.162";
$ch = curl_init('https://ipgeolocation.abstractapi.com/v1/?api_key=my_key&ip_address=' . $ip);

推荐阅读