当图像名称有空格时无法从远程服务器复制图像

Impossible to copy image from remote server when the image name has whitespaces

我正在尝试从远程服务器复制图像,但图像名称中有空格,并且通过 copy() 函数创建的文件无效且无法打开。我的代码是:

$url     = 'http://www.bgelectronics.eu/image/cache/data/cantell kabeli /14222-228x228.jpg';

$newfile = servImagesDir.'products/small/awa.jpg';
if (!copy($url, $newfile)){echo "failed to copy";}

没有错误,正如我上面所说的,有一个复制的文件但无效。同时图像很好 请帮助解决这个问题,谢谢

尝试粘贴到第二(空)行:

$url = str_replace(' ', '%20', $url);

urlencode 和 rawurlencode 也对“/”(斜杠)进行编码。他们将您的 URL 更改为:

http%3A%2F%2Fwww.bgelectronics.eu%2Fimage%2Fcache%2Fdata%2Fcantell%20kabeli%20%2F14222-228x228.jpg