PHP 保存从 URL 下载的损坏的图像文件

PHP saves broken image files downloaded from a URL

无论我使用哪个功能:

copy("http:" . $imglink, "images/" . substr($imglink, 34));
//or
file_put_contents("images/" . substr($imglink, 34), file_get_contents("http:" . $imglink));
//or
file_put_contents("images/" . $productData['imagefile'], fopen($productData['imagelink'], 'r'));

保存的文件损坏了,几乎大了 4 倍。日志中没有错误, 已经检查过我可以通过浏览器从远程服务器手动下载健康图像。有什么想法吗?

发现问题 - 图像文件名包含 space 个字符,应该是 rawurlencode($imglink)-ed 在作为参数传递之前