doujiang1913 2016-01-13 21:13
浏览 65
已采纳

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

I need to insert an id-variable into the link "https://api.quickpay.net/payments/9727866/link" (instead of "9727866") but i can't seem to get the syntax right.

It doesn't seem to accept my variables no matter what I do.. anyone knows how to do this?

   $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);
  • 写回答

1条回答 默认 最新

  • dougu5886 2016-01-13 21:22
    关注

    It's probably because you're using single quotes. Try any of the following:

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

    or

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

    or

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

    or

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

    or

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

    Whatever floats your boat.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题