나는 약간의 FTP 공간 또는 WebDAV 공유를 설정한다고 말할 것이다. 그렇게 할 수 없다면 수백 개의 고유 한 업로드를 처리하는 대신 단일 또는 작은 수의 zip 파일로 이미지를 업로드 할 것이고 이는 브라우저가 단일 파일 만 선택하기 때문에 시간이 많이 걸릴 것입니다. 파일 업로드 대화 상자에서 한 번에 (즉, 업로드 할 전체 디렉토리를 선택할 수는 없습니다).
이유는이 인스턴스에서 PHP를 사용하지 : 간단한 파일 업로드 핸들러를 작성
것은 PHP에서 간단하지만 매우 큰 업로드를 처리하는 경우 당신이해야하므로 꽤 비트 잔재주입니다 파일 크기 업로드 제한, 스크립트 실행 제한 시간 및 메모리 제한에주의하십시오.처음 설치하는 데 다소 실망 스러울 수 있습니다.
당신이 처리하고자하는 다중 GB 파일 인 경우 HTTP 업로드는 원하는 방식이 아닙니다. (이유를 묻는다면, 원하는대로 작동시키는 것이 매우 좋을 것입니다. 당신을위한 좌절 프로세스).
Mac OS에는 우수한 FTP 클라이언트가 몇 가지 있습니다. FTP 클라이언트보다 파일을 전송하는 데 웹 브라우저를 더 신뢰할 수있는 방법은 없습니다. 진행 표시 줄 지원에 대한
:
지원은 매우 내가있는 모듈을 포함하는 계획이 믿지 불구하고 (현재는 약간의 털이있는 제 3 자 모듈을 통해) PHP 제한됩니다 Currenly 진행 막대 표준 배포. Goalling for uploadprogress.so는 관련 결과를 제공해야합니다. 응답에서
는 littlegreen합니다 : 나는 (I 이미 설치 한 적어도 하나 개의 확장과 충돌 관리 - 나는 그들이 지금 그 문제를 해결 한 생각하지만)이 확장 http://pecl.php.net/package/uploadprogress을 사용
및 사용자 지정 자바 스크립트 처리기를 썼다 (
http://iaincollins.com/javascript/FileUploader.js)을 웹상의 여러 가지 여러 예를 기반으로 각각의 장점을 최대한 반영하도록 노력했습니다. 예 : 보이지 않는 iframe을 사용하여 투명하게 업로드 진행률을 반환하고 DHTML 파일 업로드 대화 상자를 만들고 추악한 브라우저 기반 파일 업로드 컨트롤을 투명하게 만들고 내 컨트롤 위에 오버레이하여이를 대체 할 수 있습니다. 업로드를 위해 선택된 파일의 이름을 얻을 수 있지만 JavaScript에서 파일 업로드 대화 상자를 호출하지 않습니다. CSS 스타일링을 올바르게하는 것이 특히 중요했습니다. 브라우저별로 다릅니다.
내가 작성한 JS는 매우 슬픈 상황이지만, 유용한 요소가있을 수 있습니다. 개인 인터페이스 용으로 생성 된 것처럼 링크 할 수있는 것은 공개하지 않습니다.
uploadprogress 용 jQuery 플러그인이 있습니다. 모든 것을 수행하지는 않지만 좋은 시작이 될 것입니다. http://nixbox.com/demos/jquery-uploadprogress.php ... 여러 파일 업로드를 처리하는 것을 포함하여 더 좋은 예가 있습니다. 큐에 넣고 순차적으로 수행함으로써 - 한 번에 하나의 파일을 선택해야했지만) 불행히도 나는 그들을 찾을 수없는 것 같습니다.
결론 :
나는 시도하고 번거 로움을 피하고 FTP 공간이나 시간이없는 경우 파일 전송 응용 프로그램을 피어 개인/피어 같은 일을 할 것입니다.
파일 전송 프로토콜 (이름에서 알 수 있듯이)은 대용량 파일 전송을 위해 특별히 설계되었으며 구성이 거의 필요하지 않으므로 (리소스 제한을 초과하지 않음) 클라이언트가 가질 수 있다고 기대할 수 있으므로 더 나은 옵션입니다. FTP가 HTTP 업로드를 기반으로 PHP 파일과 관련이 있기 때문에 처음부터 다시 시작하는 것이 아니라 다운로드가 중지되면 다시 시작할 수 있어야합니다.
HTTP는 파일 업로드를 처리 할 수 있지만 강력한 것은 아니며 다양한 리소스 제한 (웹 서버 및 PHP - 위에 언급 한 바와 같이)을 명시 적으로 구성하여 여러 GB 파일 가능. WebDAV (원격 파일 시스템을 사용하는 HTTP 서버)를 사용하더라도 투명하지만 FTP와 같이 강력하지는 않습니다. 주로 클라이언트 구현이 복잡하기 때문입니다. 특히 Windows와 Mac OS에서 매우 큰 파일을 전송할 때 문제가 발생할 수 있습니다. 일반적으로 작은 (예 : < 500MB) 파일 전송에는 문제가 없습니다.
부수적으로 HTML5 사양은 파일 업로드 처리 방식을 개선합니다. 한 번에 여러 파일을 업로드하고 파일 업로드 진행률을 사양의 일부로 처리 할 수는 있지만 지금은 실제로 옵션이 아닙니다.
+1입니다. –
그런데 www.swfupload.org와 같은 플래시 기반 진행률 표시 줄 솔루션이 있습니다. 그것들은 훌륭하지만 PHP와 마찬가지로 수천 개의 파일과 방대한 양의 데이터를 위해 만들어지지 않았습니다. FTP 또는 P2P는 확실히 여기에 갈 수있는 올바른 방법입니다. –
예, 언급할만한 가치가 있습니다. 가능한 경우 플래시 기반 옵션을 사용하지 않는 편이 더 좋지만, HTML의 표준 파일 업로드 방식을 사용하는 것보다 더 정교 해 졌으므로이 경우 언급하는 것이 좋습니다. 대부분의 브라우저보다 대용량 파일 업로드를 훨씬 더 잘 처리 할 것으로 기대합니다. 그들 자신이 할 것이다. 전에 PHP + JS에서 정말 매끄러운 DHTML 기반 파일 언로더를 만들었지 만, 크로스 브라우저 지원 (HTML5로 롤백)으로 정교한 UI를 원한다면 상당한 양의 해커가 필요하기 때문에 전용 전용입니다. –