질문
Q #12640
ftp 라이브러리 사용중 질문이 있습니다. 용량이 좀 있는 이미지는 전송이 안되는것 같습니다.
amen
2015-11-23 09:26:16
안녕하세요 ci 로 개발중 ftp 라이브러리 사용중에 잘 안되는 부분이 있어 질문드립니다.
검색은 좀 해봤는데 제가 잘 못찾는 것인지 구글링도 원하는 답은 찾을 수가 없더군요..(아니면 제 영어 실력이 부족할수도,)
일단 스택오버플로우에는 이 사람이 제 상황과 비슷한 것 처럼 보이구요.
http://stackoverflow.com/questions/20769945/uploading-file-via-ftp-using-codeigniter-but-showing-error-message
제가 하려는 작업은 엑셀문서를 읽은후 엑셀문서의 한 셀에 있는 이미지파일의 로컬경로 c:/img/img123.jpg 를 읽은후
FTP서버에 올리려는 작업입니다.
소스는 이와 같습니다.
$this->load->library('ftp');
$config['hostname'] = '';
$config['username'] = '';
$config['password'] = '';
$config['debug'] = TRUE;
$this->ftp->connect($config);
$tmp_file_name=임의의 이름;
$upfile='/html/qst_img/'.$tmp_file_name.'.jpg'; //이부분을 txt로 바꾸고 txt 로컬파일을 하면 잘 이동됩니다만 이미지는 안됩니다.
$this->ftp->upload("로컬파일 경로 (C:\img\img1.jpg"), $upfile, 'ascii', 0775);
일단 첫번째 상황은 로컬 apm 셋팅 상황에서 프로그램 실행시 ftp로 정상 이동됩니다. 그러나
용량이 매우 적은 txt 파일은 이동되는데 이미지와 같은 파일은 이동이 안되더군요. (ftp 서버에서 확인해보면
이미지 파일은 생성이 됩니다만 5바이트로 생성되는등 정상적인 파일이 아닙니다. 확인해본 결과 로컬 경로에 있는 파일을 읽지 못하는것 같습니다. )
두번째 상황은 프로그램을 apm 환경이 아니라 웹서버에서 실행시 txt파일도 ftp로 이동이 안됩니다.
처음 작업할땐 몰랐는데 하다보니 당연한것 같습니다.
웹서버 A에 저장되어있는 파일을 ftp서버 B로 이동하는거야 가능하지만
웹서버 A에서 클라이언트pc의 로컬파일을 마음대로 접근하여 ftp서버 B로 올리는 것이 당연히 불가능해보입니다.
정상적인 form 태그를 쓴 클라이언트의 로컬파일을 넘기는 방법 말고 php소스만으로도
웹서버 A에서 클라이언트 PC의 로컬파일을 ftp서버 B로 올리는 것이 가능할까요 ?
ftp_put 등 검색해보았지만 이 역시 서버에서 서버로만 옮기는 작업 같습니다.