CI 묻고 답하기

제목 ftp업로드에서 delete_file에 대해 문의드립니다.
카테고리 CI 2, 3
글쓴이 neo천 작성시각 2020/02/26 15:51:38
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 16542   RSS

 

$this->ftp->delete_file('/public_html/joe/blog.img');

위와같은식으로 파일을 지울때, 해당 파일이 없을경우

 

An Error Was Encountered

Unable to delete the file.

와 같은 에러가 생깁니다.

 

그래서 코이에서 권장하는것이

".....그러므로 넘겨주는 경로가 잘못된 경로가 아닌지 확실하게 확인해야 합니다.list_files() 함수를 통해서 경로가 옳은지 먼저 확인하시는 것이 좋습니다."

간단하게 말해서 list_files()를 통해서 파일이 있는지 없는지 확인을 하라고합니다.

 

여기서 의문점이 생깁니다. 

-일단 list_files로 파일목록을 배열로 가져와서 for문을 돌려서 지울파일이 있는지 없는지 체크를 해야함 

-위와 같은 방식이, 지금은 문제가 없지만 파일량이 엄청 많아질 경우(수만장~수십만장)에는 속도에 문제가 없는지..?

 

질문을 요약하면

1)위와 같은 방식으로밖에 확인을 할수없는지,,

2)아니면 위 에러코드를 무시하고 코드를 진행할수없는지(파일이 있으면 지우고, 파일이 없어서 에러코드가 뜨면 무시하고 다음 코드 실행)

3)위처럼 코드를 만들었을때 나중에 속도이슈가 생길꺼 같은데 어떻게 해야할지 모르겠습니다. ㅠㅠ 조언 부탁드립니다.

 

코로나19때문에 다들 맘고생이 심하실텐데, 빨리 안정화가 되기를 바랍니다! 감사합니다

 

 다음글 CI3 예외처리문의드립니다. (3)
 이전글 autoload 문의드립니다~~ (4)

댓글

한대승(불의회상) / 2020/02/26 19:41:48 / 추천 0

파일이 수만~수십만 이라면 ftp에서 파일 리스트 가져오는것부터 당장 문제가됩니다.

FTP를 이용하는 방법밖에 없는지 검토하시는게 좋을것 같습니다.

변종원(웅파) / 2020/02/27 10:03:43 / 추천 0

파일 갯수가 많아지면 리스트 가져오는 것부터 속도저하가 생깁니다.

한 디렉토리에 많은 수를 담기보다는 적절히 디렉토리를 나눠서 저장하도록 해야합니다. 너무 세분화할 필요도 없고 월, 일, 시 또는 구분단위별(게시물번호 / 월) 등등

neo천 / 2020/02/27 10:56:11 / 추천 0

불의회상님 답변감사합니다.

웹사이트 한개를 만들어보는중인데, 이미지가 자주 업로드되고 보여지는 서비스입니다.

그래서 서버에 영향이 안가도록 이미지업로드시 ftp를 이용해서 cdn서버로 올리는작업중입니다. (물론이미지를 보는것도 cdn주소로연결)

다른방법이 있을지모르겠네요..ㅠ 


웅파님 답변감사합니다.

파일,디렉토리 관련해서 검색해보았습니다. 웅파님 말씀처럼 속도저하를 생각해서

시간단위나, 구분을하여 폴더별로 만들어야겠습니다

https://parknom.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%A0%9C%ED%95%9C-%EA%B0%92-%EB%B3%B4%EA%B8%B0

 

친절한 답변들 감사합니다. 좋은답변을 바탕으로 고민해보겠습니다!

테러보이 / 2020/02/27 11:21:45 / 추천 0
if(file_exists('/public_html/joe/blog.img') === true) $this->ftp->delete_file('/public_html/joe/blog.img');


이런 형태는 사용이 불가능한 상태신가요?(파일 위치가 내부인경우)


외부라면
https://stackoverflow.com/a/45797931

참고하세요