リモートからサーバーに画像をコピーしたいのですが、間違った画像がコピーされることがあります.ほとんどすべてのソリューションを試しましたが、例として最も簡単なものを以下に追加します.
問題は非常に奇妙です。http://www.domain.com/image.jpgという値を持つ curl の変数を解析し、そこから画像をダウンロードすると、間違った画像が取得されます。
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を直接定義すると。
//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 の値はまったく同じですが、最初の例では間違った画像がダウンロードされることがありますが、2 番目の例では常に正しい画像がダウンロードされます。
助けていただけますか?
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.