대용량 파일 업로드 관련 문의
본문
500MB 나 1GB정도의 대용량 파일을 등록가능한 게시판을 만들려고하는데요 ㅠㅠ
이게 그 php ini파일? 설정을 등록시간?을 최대로 해주고 등록 최대 용량을 설정해주는 걸로는
문제가될 것 같더라구요;;
어쩔때는 타임아웃이뜨고 어쩔때는 올라가고 중간에 잘못하면 안올라가고 그러던데
혹시 이런 부분에 대해서 컴포넌트?같은게 있던데 이런걸로 대용량 업로드가 가능한가요?
php로 대용량 파일 업로드 해보신분이 있으실까요?ㅠㅠ 조언부탁드리니당..ㅠ
안되면 C#으로 응용프로그램을 개발해서 웹하드 사이트를 개발해야할판입니다..해야하는건가요..ㅠㅠㅠ
답변 4
안녕하세요.
php로 대용량 파일 업로드 --> 가급적 안하시는게 좋습니다.
php.ini 등등 안정성면이나 여러가지면으로 안좋습니다.
파일업로드를 위한 C#같은 걸로 FTP 프로그램 같은 것을 만들어서 하시는게 좋구요.
궂이 PHP로 비용을 덜 들이고 하시고 싶으시면
https://github.com/Studio-42/elFinder 오픈소스인 엘파인더 같은 것을 응용하시는게 좋아보입니다.
꽤 안정적으로 php.ini 설정을 바꾸면 대용량 파일도 파일업로드가 가능하거던요.
직접 만드실거면 아래 URL 참고하세요
https://github.com/eugenmihailescu/my-chunk-uploader
파일을 나눠서 업로드 후 서버에서 합쳐줍니다.
서버를 어느것을 사용하시는지 잘 모르겠지만..대용량 파일 업로드를 많이 쓰실경우 서버를 클라우드 서버로 교체 하시는 편이 나으실겁니다.
그리고 "php ini파일? 설정을 등록시간?을 최대로 해주고 등록 최대 용량을 설정해주는 걸로는
문제가될 것 같더라구요;;" 라고 하셨는데요...
php.ini 에서 설정시간 외에 업로드 파일 용량의 셋팅도 같이 해주시는 편이 좋습니다.
위에 @서씨네 님 말씀대로 가급적이면 안하시는게 좋긴 하지만 필요하시다면...할수 밖에 없는것이고...
저자님의 회사(대표) 에서 하라 한다면 해야겠죠...단! 해당 문제에 대해 미리 고지를 한번이라도 하시고 진행 하시는 편이 좋을듯 생각합니다.
Chunk upload 를 이용하면 php.ini 설정은
upload_max_filesize = 50M post_max_size = 50M max_input_time = 300 max_execution_time = 300
이정도 세팅만 해도 됩니다. 실행시간이 중요합니다.
회선 속도 좋다면 1G, 2G 충분히 업로드 됩니다.
php.ini 설정이 가능하신 서버호스팅이나 VPS 사용자라면
Chunk upload 지원하는 오픈소스는 모두 사용가능하며 업로드 잘됩니다.
4기가 이상 업로드 해봤는데 잘 됩니다.
오픈소스 많으니 다운받아서 그누보드 연동해보세요.