A사이트에서 B 사이트로 사진파일 복사하기
본문
제가 운영하는 유머사이트 A에서 글은 RSS 로 복사 성공했는데,
사진은 성공 못 했네요.
A, B 둘다 호스팅 서버가 다르고, 이미지 주소만 복사하면 A 서버가 뻗으면
B 서버에서도 사진 access 가 불가능 한데, 어떻게 사진을 복사해 올까요?
이미지용 서버도 호스팅사에서 별도 운영하는거 보면 방법이 있는거 같긴 한데,,
답변 7
$copy_url = '복사할 파일 URL';
$basename = str_replace("%","",substr($imgname,0,strrpos($imgname,".")));//파일명
// 확장자
if (empty($basename)) {
$basename = $imgname;
$extension = "";
} else {
$extension = substr($imgname, strrpos($imgname,".") + 1);
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $copy_url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$body = curl_exec ($ch);
$header = curl_getinfo($ch);
curl_close($ch);
$filesize=$header['size_download'];
$image_info=$body;
if($filesize > 0) {
$original_filename = $basename . ($extension ? ".".$extension : "");
$saveFileName = preg_replace("/\.(php|phtm|htm|cgi|pl|exe|jsp|asp|inc)$/i", "$0-x", $original_filename);
//파일 저장 경로
$file = '저장할 파일 경로'; //G5_DATA_PATH.'/copy';
if (!file_exists($file)) {
$fp = @fopen ($file, 'w');
if(!$fp) {
return false;
}
fwrite ($fp, $image_info);
fclose ($fp);
// 올라간 파일의 퍼미션을 변경합니다.
chmod($file, G5_FILE_PERMISSION);
$imgsize = @getimagesize($file); // 가로 세로 타입 정보
if(empty($imgsize)) {
@unlink($file);
}
// 올라간 파일의 퍼미션을 변경합니다.
chmod($file, G5_FILE_PERMISSION);
}
}
CURL 로 이미지를 타서버에서 다운로드 할 수 있습니다.
curl 로 외부이미지 업로드 가능하구요.
A사이트 이미지를 걸어서 액박나면 onerror 이벤트로 B사이트 이미지를 걸면 됩니다.
1. 말씀하신것처럼 이미지 서버를 두시는 방법이 있을것 같고요.
2. 아니면 특정시간대에 이미지를 동기화 하는 방법이 있긴 합니다.
3. db 서버에 공간이 많으시면 이미지를 DB에 저장할수도 있긴 합니다.
A서버에서 B서버로 이미지를 비롯한 리소스들은 옮겨야 합니다.
그래샤 A서와 무관하게 안전한 실행을 보장할 수 있습니다.
이미지 용량과
이미지의 사용목적이 명확해야겠네요
두곳다 호스팅 접근이 가능하다면
ftp로 접근해서 복제하는 방법이 있어요
복제로 해결이 될 내용이고
만약 압축이 가능하다면
tar로 묶어서 리눅스명령어로 ftp로 전달하는게 최상의 방법이구요
그게 아니고 복제를 하려는 목적이 임의의 복제면
법률적인 문제도 확인하셔야 할것같네요
답변을 작성하시기 전에 로그인 해주세요.