如何通过PHP中的cURL传递特殊字符?

时间:2016-09-27 16:34:05

标签: php curl

我想保存用户名&我的google-sheet中的密码,我可以通过cURL传递这些信息,代码如下:

foreach ($fields as $key => $value) {
if (!empty($value) && !is_null($value)) {
    $fields_string .= $key . '=' . $value . '&';
 } else {
    $fields_string .= $key . '=-&';
 }
}
rtrim($fields_string, '&');

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$gResult = curl_exec($ch);

但是在密码字段中有特殊字符时遇到麻烦。 因为用户可以使用任何特殊字符,包括'&' charcater和当这个'&'字符使用cURL定义为不同的字符串

有没有办法摆脱这个问题?

1 个答案:

答案 0 :(得分:1)

使用PHP函数urlencode();

示例:

 $new_url = urlencode($url);