URL에서 내 서버의 이미지 목록을 가져 오기 위해 사용자 지정 기능을 만들고 있습니다. 일부 이미지는 복사되고 일부 이미지 파일 크기는 0B입니다. 브라우저에서 해당 이미지 URL을 열면 정확한 이미지가 표시됩니다. 내가 이미지를 복사하는 복사 기능을 사용하고URL에서 이미지를 다운로드하고 복사하는 방법은 무엇입니까?
:
IMG을 $copy($img, DIR_IMAGE.'catalog/'.$filename);
이미지와 $ 파일 이름이 이미지의 기본 이름을 포함하는의 HTTP URL을 포함하고 있습니다.
$file = fopen ($img, "rb");
if ($file)
{
$newf = fopen (DIR_IMAGE.'catalog/'.$filename, "wb");
if ($newf)
while(!feof($file))
{
fwrite($newf, fread($file, 1024 * 8), 1024 * 8);
}
}
if ($file)
{
fclose($file);
}
if ($newf)
{
fclose($newf);
}
사람이 어떻게이 문제를 해결하는 저를 제안 할 수 있습니다 :
나는 또 다른 대안을 시도했다.미리 감사드립니다. 당신은 또한에에 도메인을 알아야합니다
$ch = curl_init();
$fp = fopen(DIR_IMAGE.'catalog/'.$filename, "w");
curl_setopt($ch, CURLOPT_URL, $img);
curl_setopt($ch, CURLOPT_MUTE, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/c");
curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/c");
curl_setopt($ch, CURLOPT_REFERER, "http://".$imgDomain."/");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0");
curl_exec($ch);
curl_close($ch);
fclose($fp);
:
0B는 이미지 그룹에 대해 일관 적이거나 무작위입니까? 길이가 0 인 이미지를 얻을 수있는 이미지를 제공 할 수 있습니까? – emiliopedrollo
어떤 웹 사이트는 이미지에 핫 링크 보호 기능을 제공하지만 더 자세한 정보가 필요합니다. – emiliopedrollo
동일한 사이트의 모든 이미지를 처리하고 있습니다. 위의 코드를 사용하여 하나의 이미지를 복사 할 수 있다면 다른 이유는 무엇입니까? –