【问题标题】:Add more variables in the URL via GET通过 GET 在 URL 中添加更多变量
【发布时间】:2014-06-02 16:44:59
【问题描述】:

我希望有可能通过 URL 示例传递参数。

www.example.com/index.php?msg=textOne&var2=textTwo&var3=textThree. 

我需要更改代码以使其工作吗?

<?php
define("GOOGLE_API_KEY", ...);
define("GOOGLE_GCM_URL", "https://android.googleapis.com/gcm/send");

function send_gcm_notify($reg_id, $message, $text) {

    $fields = array(
        'registration_ids'  => array( $reg_id ),
        'data'              => array( "message" => $message ),  
    );

    $headers = array(
        'Authorization: key=' . GOOGLE_API_KEY,
        'Content-Type: application/json'
    );

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, GOOGLE_GCM_URL);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));

    $result = curl_exec($ch);
    if ($result === FALSE) {
        die('Problem occurred: ' . curl_error($ch));
    }

    curl_close($ch);
    echo $result;
 }

$reg_id = "APA91bHuSGES.....nn5pWrrSz0dV63pg";
$msg    = filter_input (INPUT_GET, 'msg', FILTER_SANITIZE_STRING);
send_gcm_notify($reg_id, $msg,put);

【问题讨论】:

    标签: php url get


    【解决方案1】:

    如果要使用数组样式:

    ....
    $getParams = array(
        'param1' => 'value',
        'param2' => 'value2',
    );
    $ch = curl_init();  
    curl_setopt($ch, CURLOPT_URL, GOOGLE_GCM_URL . '?' . implode('&', array_map('urlencode', $getParams)));
    curl_setopt($ch, CURLOPT_POST, true);
    ....
    

    注意urlencode 的用法以确保您的参数是 URL 安全的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-29
      • 1970-01-01
      • 2017-04-08
      • 1970-01-01
      • 1970-01-01
      • 2014-03-31
      • 2018-11-12
      • 1970-01-01
      相关资源
      最近更新 更多