在 curl_init() 中将变量插入 URL 时的语法


syntax when inserting a varible into an url in curl_init()

我需要在链接"https://api.quickpay.net/payments/9727866/link"(而不是"9727866")中插入一个 id 变量,但我似乎无法正确理解语法。

无论我做什么,它似乎都不接受我的变量......有人知道如何做到这一点吗?

   $params = array(
       "amount"            => 100,
       "order_id"       => 999999
   );                                                                    
   $data_string = http_build_query($params, '&'); 
   $headers = array(
          'Accept-Version: v10',
          'Accept: application/json', 
          'Authorization: Basic ' . base64_encode(":HIDDEN_API_KEY")
      );                                                                                  
   $ch = curl_init('https://api.quickpay.net/payments/9727866/link');                                                                      
   curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");                                                                     
   curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                  
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);      
   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);     
   curl_setopt($ch, CURLOPT_HEADER, true);
   curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
   $result = curl_exec($ch);
   if(!curl_exec($ch)){
       die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
   }
   curl_close($ch);
   print_r($result);

这可能是因为您使用了单引号。尝试以下任一操作:

 $ch = curl_init("https://api.quickpay.net/payments/$variable/link"); 

$ch = curl_init("https://api.quickpay.net/payments/{$variable}/link");

$ch = curl_init("https://api.quickpay.net/payments/" . $variable . "/link");

$str = "https://api.quickpay.net/payments/" . $variable . "/link";
$ch = curl_init($str);

sprintf("https://api.quickpay.net/payments/%s/link", $variable);

无论什么漂浮你的船。