2012-07-02 4 views
0

각 app_id의 특정 폴더에 업로드를 저장하고 싶습니다. 예를 들어, app_id가 45 인 신청자가 파일을 업로드하면 45라는 폴더에 저장해야하며 출생 증명서, 대학 인증서, 프로필 사진 및 고등학교 인증서와 같은 모든 업로드는 해당 폴더에 있습니다. 다른 app_id 예 89에는 자신의 폴더가 있어야하지만 업로드 된 모든 파일은 하나의 상위 폴더 (예 : webroot/files/uploads /)에 있습니다.CakePHP 2.1에서 파일 업로드 및 저장

Miles Johnson에서 업 로더 v3.6을 구현할 수있었습니다. 그 플러그인 또는 다른 솔루션

모든 자습서 또는 링크에 이렇게 어떤 도움

당신에게

감사 이러한 문제를 해결하기 위해

답변

2

당신의 아이디어에서 거대한 보안 실패는 공중 (!) accessible/webroot/files/uploads 폴더에 고등학교 인증서를 저장하는 것입니다. 모든 사람들이 귀하의 서버에서 이러한 권한있는 문서를 다운로드 할 수 있으면 개인 정보 보호법이 적용되는 많은 국가에서 매우 불쾌한 상황에 처하게 될 것입니다.

증분 ID를 사용하여 폴더 1, 2, 3 ...에 파일을 저장하면 성능이 현저하게 떨어집니다. "파일 시스템 성능"절의 this article 섹션을 읽으십시오.

사용자를 삭제할 때 하나의 작업으로 모든 파일을 삭제하려는 경우 동일한 폴더에있는 모든 파일을 저장하는 것이 좋지만 파일 이름을 제대로 삭제하는 것을 잊어서는 안됩니다. 그러나 다시 : 동일한 (하위) 폴더에 수천 개의 파일을 저장하면 문제가 다시 발생할 수 있습니다.

CakePHP 2.x 용 파일 저장 솔루션의 경우 거의 모든 일반적인 문제를 다루는 내 FileStorage plugin의 readme.md를 읽고 파일 저장을위한 탄탄한 기반을 제공 할 것을 제안 할 수 있습니다.

+0

기여해 주셔서 감사합니다.하지만 CakePHP에 익숙하지 않은 학습 곡선으로, user_id_directory에 따라 파일을 저장하는 방법을 보여 주시면 감사하겠습니다. 메커니즘. –

+0

죄송합니다. 코드를 작성하지 않았습니다. 그것은 간단합니다 : 레코드를 테이블에 저장 한 다음 ID를 가지고 그 ID로 디렉토리를 생성하고 파일을 저장하십시오. – burzum