Php 在某些位置,使用url检查图像是否存在会返回false

Php 在某些位置,使用url检查图像是否存在会返回false,php,image,url,curl,Php,Image,Url,Curl,我想知道是什么让这段代码错误地失败了。它在传递某些图像URL时返回错误结果。我无法控制URL是什么,但我可以通过某种方式对其进行编码来实现这一点 我假设问题在于图像URL中的空间。如何避免这种情况 function checkRemoteFile($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); // don't download content curl_setopt($ch, CURL

我想知道是什么让这段代码错误地失败了。它在传递某些图像URL时返回错误结果。我无法控制URL是什么,但我可以通过某种方式对其进行编码来实现这一点

我假设问题在于图像URL中的空间。如何避免这种情况

function checkRemoteFile($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    // don't download content
    curl_setopt($ch, CURLOPT_NOBODY, 1);
    curl_setopt($ch, CURLOPT_FAILONERROR, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    return (curl_exec($ch)!==FALSE);
}

使用
$url=str_替换('''%20',$url)
对空格进行URL编码。

如果返回false,则某些操作失败,您应该检查
curl\u error($ch)
以找出原因。谢谢Marc B。无论如何,我需要更多地阅读curl。我刚刚在看到您的答案之前找到了它。但是谢谢。