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);
이런식으로 다운로드 할수 있습니다.