테스트 사이트 - 개발 중인 베타 버전입니다

파일 압축하여 다운로드시 파일이름 변경 채택완료

벨보이 1년 전 조회 4,479

서버에 저장된 파일들을 압축하여 다운로드하는 소스를 검색 및 조언을 통해 잘 작동하고 있습니다.

file_1은 서버에 저장된 파일 이름(관리자가 서버에 저장한 이름, 중복 방지를 위해 숫자로...) file_2는 실제 파일 이름(사용자가 올린 이름)

이렇게 두 가지로 받아 저장이 되어 있습니다.

아래 소스를 보시면 file_1으로 압축되어 다운이 되는데... 이것을 file_2로 이름을 바꿔서 다운받으려고 합니다.

도움 부탁드립니다.

 

$files = array(); $re = mysql_query("select * from classroom where name='aaa' and file_1!=''"); while(($row = mysql_fetch_array($re))==true){ $files[] = $row[file_1]; }

$zipname = './zip/'.date(His).'.zip'; $zip = new ZipArchive; $zip->open($zipname, ZipArchive::CREATE); foreach ($files as $file) {   $zip->addFile($file); } $zip->close();

header('Content-Type: application/zip'); header('Content-disposition: attachment; filename='.$zipname); header('Content-Length: ' . filesize($zipname)); readfile($zipname);

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

답변 1개

채택된 답변
+20 포인트
1년 전

ZipArchive::addFile 함수 두번째 인자로 파일명 넘기시면 됩니다 $zip->addFile($file["file_1"], $file["file_2"]);

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

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

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

로그인