urlencode() 不起作用

urlencode() does not work

我有一个 URL 这样的:

http://x.x.x.x/feedsms?to=$groupName&text=$content"

当我调用此 url 时,它应该会发送一条短信。 由于空格和特殊字符,我使用 file_get_contents() 阅读短信内容和 urlencode()

$url = urlencode("http://x.x.x.x/feedsms?to=$groupName&text=$content");
$urlContent = file_get_contents($url);

$content是这样的:

F: user@domain.com S: Veeam Repoting B: Target: y.y.y.y, Status: Error, Time: 8/22/2015 3:05:30 PM

但是我不能调用 url:

file_get_contents(): failed to open stream: No such file or directory ... 

我也使用了rawurlencode(),但没有任何改变。

正如文档所说,应该使用

urlencode 来编码要在 URL 的查询部分 中使用的字符串 。您不应该在整个 URL 上使用它,而应该只对每个应该编码的参数使用它,在您的情况下是 $groupName$content。这样的事情应该可以解决问题:

$url = "http://x.x.x.x/feedsms?to=" . urlencode($groupName) . "&text=" . urlencode($content);