Skip to content
Server
2015.07.13 23:23

파일 업로드 폴더 변경

조회 수 1904 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

게시물에서 등록한 첨부파일이

xe 하위폴더에 저장이 되는데요 

폴더위치를 변경할수 있나요?


modules/file/file.controller.php  에서

function insertFile  와  deleteFile 함수에서

파일업로드 될때의 파일주소를 변경하시면 될거예요

 



file.controller.php에 있는 insertfile함수가 실질적으로 파일첨부를 위한 경로를 지정해주는 함수라고 알고있습니다.

그런데 파일첨부시에 이 함수를 불러오는 곳을 아무리 검색해봐도 나오질 않네요..

제가 확인하고싶은것은

 function insertFile($file_info, $module_srl, $upload_target_srl, $download_count = 0, $manual_insert = false)

 

 

이 $upload_target_srl이 $document_srl 과 연결되는 부분을 알고싶은겁니다!!!ㅠㅠ그래서 검색해보니

 

document.admin.controller.php에서 function moveDocumentModule()함수에

 $inserted_file = $oFileController->insertFile($file_info, $module_srl, $obj->document_srl, $val->download_count, true);

 

여기만 검색되네요..그런데 이 moveDocumentModule함수는 게시글 이동시에 사용하는거 아닌가요?

 

그렇다면 처음 글을 쓸때 insertfile함수를 불러와 document_srl값을 주는 부분은 어디에 있나요!!!!!!!!!!!!!!!!!!!!!!ㅜㅜ

function procFileUpload()

여기를 보세요 



현재 file.controller.php 부분에서 파일첨부 경로를 변경하는걸로 알고 있습니다.

// 이미지인지 기타 파일인지 체크하여 upload path 지정
  if(preg_match("/\.(jpg|jpeg|gif|png)$/i", $file_info['name'])) {
   // direct 파일에 해킹을 의심할 수 있는 확장자가 포함되어 있으면 바로 삭제함
   $file_info['name'] = preg_replace('/\.(php|phtm|html|htm|cgi|pl|exe|jsp|asp|inc)/i', '$0-x',$file_info['name']);
   $file_info['name'] = str_replace(array('<','>'),array('%3C','%3E'),$file_info['name']);

   $path = sprintf("./files/attach/images/%s/%s", $module_srl,getNumberingPath($upload_target_srl,3));

   // 파일 이름에서 특수문자를 _로 변환
   $_filename = preg_replace('/[#$&*?+%"\']/', '_', $file_info['name']);
   $filename  = $path.$_filename;
   $idx = 1;
   while(file_exists($filename)) {
    $filename = $path.preg_replace('/\.([a-z0-9]+)$/i','_'.$idx.'+ '.$1',$_filename);
    $idx++;
   }
   $direct_download = 'Y';
  }
  // 동영상파일일 경우 upload path는 videos
  if(preg_match("/\.(wmv|wma|mpg|mpeg|avi|swf|flv|mp1|mp2|mp3|mp4|asf|wav|asx|mid|midi|asf|mov|moov|qt|rm|ram|ra|rmm|m4v)$/i", $file_info['name'])) {
   // direct 파일에 해킹을 의심할 수 있는 확장자가 포함되어 있으면 바로 삭제함
   $file_info['name'] = preg_replace('/\.(php|phtm|html|htm|cgi|pl|exe|jsp|asp|inc)/i', '$0-x',$file_info['name']);
   $file_info['name'] = str_replace(array('<','>'),array('%3C','%3E'),$file_info['+ 'name']);

   $path = sprintf("./files/attach/videos/%s/%s", $module_srl,getNumberingPath($upload_target_srl,3));

   // 파일 이름에서 특수문자를 _로 변환
   $_filename = preg_replace('/[#$&*?+%"\']/', '_', $file_info['name']);
   $filename  = $path.$_filename;
   echo $filename;
   $idx = 1;
   while(file_exists($filename)) {
    $filename = $path.preg_replace('/\.([a-z0-9]+)$/i','_'+ '.$idx.'.$1',$_filename);
    $idx++;
   }
   $direct_download = 'Y';
  } else {
   $path = sprintf("./files/attach/binaries/%s/%s", $module_srl, getNumberingPath($upload_target_srl,3));
   $filename = $path.md5(crypt(rand(1000000,900000), rand(0,100)));
   $direct_download = 'N';
  }


위소스를 보시면 아시겠지만.. 동영상 파일들을 따로 분리를 하여 경로를 변경했습니다.

일단 서버 설명을 드리겠습니다.
일단 서버 2대가 있습니다. A = 메인서버 , B = 미디어서버(동영상 파일만) 입니다.
A서버에서 네트워크 드라이브 연결로 B서버 하드를 불러왔습니다.
이렇게 하면 아시는분들은 아시겟지만 A서버에서 B서버 하드를 읽기/쓰기/수정 가능합니다.

일단 파일첨부 부분이 절대경로가 아닌 상대경로인데...
제가 구현하고자 하는건...
동영상파일 첨부할시만 $path를 절대경로인 B서버 경로로 변경하려 합니다.
ffmpeg로 동영상 파일도 변환하게끄름 구현도 해야하는데..
서버가 window 서버라 ffmpeg php 모듈을 설치하기가 어렵더라구요.
그래서 exec,system 명령어로 업로드한 동영상파일을 인코딩 해준다음
기존 업로드한 파일 삭제후 인코딩한 동영상을 등록시키려 합니다.

JSP전공하며.. PHP는 이번에 처음 접하였는데.. 도무지 알수가 없네요 ㅠㅠ..

일단 제일 시급한건 파일첨부 경로를 절대경로로 수정 하는겁니다.
아시는분 계시면 제발.. 알려주시길 바랍니다..ㅠ ㅠ

 // 동영상파일일 경우 upload path는 videos

  if(preg_match("/\.(wmv|wma|mpg|mpeg|avi|swf|flv|mp1|mp2|mp3|mp4|asf|wav|asx|mid|midi|asf|mov|moov|qt|rm|ram|ra|rmm|m4v)$/i",
$file_info['name'])) {
   // direct 파일에 해킹을 의심할 수 있는 확장자가 포함되어 있으면 바로 삭제함
   $file_info['name'] = preg_replace('/\.(php|phtm|html|htm|cgi|pl|exe|jsp|asp|inc)/i', '$0-x',$file_info['name']);
   $file_info['name'] = str_replace(array('<','>'),array('%3C','%3E'),$file_info['name']);

  
   $path = sprintf("절대경로/files/attach/videos/%s/%s", $module_srl,getNumberingPath($upload_target_srl,3));

바꿔주시게 되면 다운로드할 경우나 삭제할 경우의 로직도 같은 부분을 확인하셔야 될 수 있습니다.
다시 말씀드리지만.. $path는.. 상대경로이며 실제 $path의 경로는 웹서버 기본루트의 폴더로 시작 됩니다 그래서 위에 방식대로는 웹루투 밖의 절대경로 수정이 불가능 합니다.







로그인 후 댓글쓰기가 가능합니다.

?

List of Articles
번호 분류 제목 날짜 조회 수
797 컴퓨터잡담 파이썬 초보자가 접하기 쉬운 오류 메시지 2 2021.06.15 1407
796 컴퓨터잡담 파이썬의 IF문 사용시 실행값에서 오류발생시 진행하는 예외처리 방법 2021.06.15 2779
795 컴퓨터잡담 파이썬 게시물 검색으로 새로운 게시물 등록시 지메일로 파일 보내기 2021.06.14 2043
794 컴퓨터잡담 파이썬 Beautifulsoup html의 특정 주소만 가져오기 file 2021.06.14 2967
793 컴퓨터잡담 농업경영에 이용하지 않는 농지의 처분 의무 2021.06.11 1223
792 컴퓨터잡담 파이썬 pyautogui 명령어 2021.06.06 1559
791 컴퓨터잡담 파이썬 한우정액 정보 스프레드로 추출하기 file 2021.06.05 1571
790 컴퓨터잡담 파이썬으로 네이버 증권정보 추출하기 2021.06.05 1854
789 컴퓨터잡담 자주쓰는 파이썬 명령어 2021.06.05 1181
788 컴퓨터잡담 파이썬 자주 발생되는 에러(오류) 대처방법 file 2021.06.05 2616
787 컴퓨터잡담 파이썬 웹페이지 기업정보 추출하기 2021.06.02 1822
786 컴퓨터잡담 타지역 농지매입 2021.06.01 1108
785 컴퓨터잡담 파이썬 사이트 정보 가져와서 필요한 내용 추출하기 2021.05.31 1725
784 컴퓨터잡담 파이썬 셀레니움으로 네이버 증권의 종목 검색하여 특정항목 클릭하기 2021.05.30 1526
783 컴퓨터잡담 파이썬 동행복권 판매인 모집 공고 발생시 자동알림 2021.03.16 2215
782 컴퓨터잡담 아두이노 나노 호환보드 칩셋드라이버 CH340 설치 및 file 2021.03.12 2328
781 컴퓨터잡담 [파이썬] 설치 및 사용방법 file 2021.03.12 1822
780 컴퓨터잡담 한글입력이 안될때(how to hangul ...) file 2021.01.08 2820
779 [Docs]스프레드시트 스프레드시트 함수 2020.12.27 4822
778 [Docs]스프레드시트 스프레드시트 스크립트 소스 2020.12.26 4864
Board Pagination Prev 1 ... 5 6 7 8 9 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소