Bir görüntüyü doğrudan sunucumdan kaydetmem gerekiyor, birçok yöntem denedim ama hepsi düzgün çalışmıyor. file_put_contents($file_location, file_get_contents($image_url));
dosya dizininde hiçbir hata bulunamadı. Basit fopen
ve fwrite
bozuk görüntüyü iade etmeye devam ediyor. Bu çalıştı, ancak jpg dosyası yerine html dosyasını döndürmeye devam ediyor.Görüntüyü URL'den cURL ile kaydetme
function getimg($url) {
$headers[] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg';
$headers[] = 'Connection: Keep-Alive';
$headers[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8';
$user_agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)';
$process = curl_init($url);
curl_setopt($process, CURLOPT_HTTPHEADER, $headers);
curl_setopt($process, CURLOPT_HEADER, 0);
curl_setopt($process, CURLOPT_USERAGENT, $user_agent);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
$return = curl_exec($process);
curl_close($process);
return $return;
}
$imgurl = 'http://some/url/to/image.jpg';
$imagename= basename($imgurl);
if(file_exists('./image/'.$imagename)){continue;}
$image = getimg($imgurl);
file_put_contents('image/'.$imagename,$image);
Bir şey eksik?
Teşekkürler.
Web sayfası indirmeye çalıştığınız bir resim dosyası olduğundan emin misiniz? Aldığınız HTML dosyası neler içeriyor? – JJJ