我想将图片从远程复制到我的服务器,但它有时会复制错误的图像。我尝试了几乎所有解决方案,但我将添加下面最简单的一个作为示例。
问题很奇怪。如果我从 curl 解析一个值为http://www.domain.com/image.jpg的变量,然后我从中下载图像,那么我得到一个错误的图像。
1)这不起作用( $image 的值是http://www.domain.com/image.jpg)
//url of a picture
$image = $result->xpath('image-url');
$image = (string)$image[0];
copy($image, '/patch/image.jpg');
2)这有效 - 当我直接定义图像网址时。
//url of a picture pulled by curl
$image = $result->xpath('image-url');
$image = (string)$image[0];
if($image == 'http://www.domain.com/image.jpg') {
$image = 'http://www.domain.com/image.jpg';
}
copy($image, '/patch/image.jpg');
在这两种情况下,$image 的值完全相同,但第一个有时会下载错误的图像,而第二个总是下载正确的图像。
你能帮忙吗?
I have tried few variation:
1) $img = file_get_contents('http://placehold.it/150x150'); - WORKS
2) $img = file_get_contents('http://www.domain.com/image.jpg'); -WORKS
3) $img = file_get_contents($image); where
var_dump($image) = string(66) "http://www.domain.com/image.jpg"
echo $image = http://www.domain.com/image.jpg Doesn't work.