2026, 새로운 도약을 시작합니다.

image, file 외부 다운로드 질문 채택완료

3년 전 조회 2,026

이미지의 경우 주소만 가지고 file_get_contents를 이용해서 서버에 저장 시키는 방법이 있는데요

파일도 똑같이 되는데 그누보드의 경우 파일 다운로드를 할때 파일명이 노출되는게 아니라

/bbs/download.php?~~~~~ 와 같은 형식으로 파일을 다운로드하는데 이 경우는 방법이 없는걸까요?

답변 4개

채택된 답변
+20 포인트

다운로드 받는 것이 목적인가요?

서버에서눈 curl을 사용하면 가능 합니다

로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

curl을 사용하면 /bbs/download.php로 초점을 맞춰도 다운 될까요?
/download.php?name=a.png
/a.png

이 둘을 구분할 수 없습니다.
구분할 수 없는게 php 형식이라면 다운이 안된다는 말씀 이신지?
당연히 다운로드(저장)이 됩니다.
감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

댓글을 작성하려면 로그인이 필요합니다.

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);

이런식으로 다운로드 할수 있습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

원본명을 알 수 없어서 그런거라 ㅜㅜ
파일을 다운시키려는데 대상이 php 파일로 파일을 다운로드 시킵니다. 원본명이 있는게 아닙니다

댓글을 작성하려면 로그인이 필요합니다.

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);

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

이미지는 잘 저장시키고 있습니다.
/bbs/download.php로 파일을 다운로드 하는데,
위와 같은 방법으로 파일을 다운로드할 수 있을까요?

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고