无法使用 cURL 下载 URL 中包含空格的图像


Unable to download images with a space in the URL with cURL

我有以下代码用于从远程 URL 下载图像 - 代码似乎工作正常,除非 URL 中有空格 - 我已经输入了str_replace来尝试解决这个问题,但问题仍然存在 - 任何人都可以建议我在下载它们显示为 0kb 文件时做错了什么。

    $image_url = str_replace(" ", "%20", $image_url);
    $fp = fopen($source_image, "wb");
    $ch = curl_init($image_url);
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_exec($ch);
    curl_close($ch);
    fclose($fp);
好的,它

- 该网站在图像上使用https(天知道为什么)以下内容有效。

    $fp = fopen($source_image, "wb");
    $ch = curl_init($image_url);
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);