image, file 외부 다운로드 질문
본문
이미지의 경우 주소만 가지고 file_get_contents를 이용해서 서버에 저장 시키는 방법이 있는데요
파일도 똑같이 되는데 그누보드의 경우 파일 다운로드를 할때 파일명이 노출되는게 아니라
/bbs/download.php?~~~~~ 와 같은 형식으로 파일을 다운로드하는데 이 경우는 방법이 없는걸까요?
답변 4
다운로드 받는 것이 목적인가요?
서버에서눈 curl을 사용하면 가능 합니다
file_get_contents로 서버에 저장시킨다구요...? 흠... 그건 어떻게 하는지... 전 이런식으로 외부 주소 가져와서 저장시켯습니다~
$info['images'] = $image->url;
$img_link = iconv('utf-8','euc-kr',$info['images'][$i]);
$ext = strtolower(pathinfo($img_link, PATHINFO_EXTENSION));
// 저장할 이미지명을 정한다.
$img = $temp_id[1]."_".$i.'.'.$ext;
$info['real_images'][$i] = $path.$img;
$fp = fopen($path.$img,'w'); // 저장할 이미지 위치 및 파일명
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $img_link );
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$contents = curl_exec($ch);
curl_close($ch);
// fwrite($fp,file_get_contents($img_link)); // 가져올 외부이미지 주소
fwrite($fp,$contents); // 가져올 외부이미지 주소
fclose($fp);
php에서 다운로드 시키는 방법이 궁금하신건가요?
<?php $filepath = './hello_world.txt'; $filesize = filesize($filepath); $path_parts = pathinfo($filepath); $filename = $path_parts['basename']; $extension = $path_parts['extension']; header("Pragma: public"); header("Expires: 0"); header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename='$filename'"); header("Content-Transfer-Encoding: binary"); header("Content-Length: $filesize"); ob_clean(); flush(); readfile($filepath);
이런식으로 다운로드 할수 있습니다.