Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法下载URL中带有空格的图像,请使用cURL_Php_Curl - Fatal编程技术网

Php 无法下载URL中带有空格的图像,请使用cURL

Php 无法下载URL中带有空格的图像,请使用cURL,php,curl,Php,Curl,我有以下从远程URL下载图像的代码-除了URL中有空格外,代码似乎工作正常-我已放入stru替换以尝试修复此问题,但问题仍然存在-当他们下载的图像显示为0kb文件时,是否有人建议我做错了什么 $image_url = str_replace(" ", "%20", $image_url); $fp = fopen($source_image, "wb"); $ch = curl_init($image_url); curl_setopt($ch, CURLOPT_

我有以下从远程URL下载图像的代码-除了URL中有空格外,代码似乎工作正常-我已放入stru替换以尝试修复此问题,但问题仍然存在-当他们下载的图像显示为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); 

你能试试urlencode吗?您可能还需要使用CURLOPT_FOLLOWLOCATION我会尝试FOLLOWLOCATION-我如何使用urlencode-这只是围绕整个$image_url变量?是的,现在不要使用str_replace-urlencode应该注意它似乎不起作用-从外观上看,似乎需要在一个域后的url上执行此操作,你能试着在不起作用的同一个url上运行wget吗?