2010-07-23 8 views
0

나는 플래시를 사용하여 둘 이상의 파일을 선택할 수있는 스크립트 (내 자신이 작성한)를 업로드하는 스크립트를 사용하고 있습니다. 사용자가 업로드를 클릭하면 as3은 업로드 파일을 upload.php으로 게시하고 크기를 조정 한 다음 하나씩 저장합니다.플래시 PHP 업로드 관련 문제

문제 : 매우 큰 나는 많은 사진과 사진 크기를 업로드하고 경우 이 프로덕션 서버에서> 2메가바이트은 단지 중간에 갇혀 업로드 진행률은, 처음 몇 사진이 성공적으로을 업로드했습니다.

내가 발견 한 무엇 : 나는 upload.php로의 크기 조정 스크립트를 비활성화하면 내가 작은 크기의 사진과 함께 노력하면 , 또는, all.Furthermore, 스크립트 잘 작동에 아무런 문제가 없다 내 로컬 호스트에서 이전 모델의 문제가있는 서버에 비해 최신 프로세서 사용)

크기 조정 스크립트는 간단합니다. 단지 이미지 해상도가 큰지 여부를 확인하고 필요할 경우 imagecopyresampled()를 사용하여 이미지의 크기를 조정합니다.

upload.php에서 이미지 리소스의 설정을 해제하여 메모리를 확보하려고했지만 도움이되지 않습니다. 그 밖의 문제는 무엇입니까?

+0

imagecopyresampled()를 너무 많이 호출하면 문제가 발생하는 것 같습니다. imagecopyresized()로 변경하면 더 잘 작동합니다 (문제가 발생할 가능성이있는 파일을 더 많이 업로드 할 수 있음).하지만 품질이 문제입니다. 제거한 경우 (imagecopyresampled()), 전혀 문제가 없습니다. – neobie

+0

Flash 10과'FileReference' 클래스를 사용하고 있다면, 이미지를 Flash에 직접로드하고 서버로 보내기 전에 클라이언트에서 이미지의 크기를 조정할 수 있습니다. – Cameron

답변

0

나는이 문제를 해결했다.

for(var i:Number = 0; i< fileList.length; i++) { 
    fileList[i].upload(new URLRequest(param.uploadURL+"&sessionid="+param.session_id)); 
} 

의 코드는 매우 지루한 방법으로 스크립트를 upload.php로 밀어처럼 보인다 : 나는 AS3에서 다음과 같은 코드를 사용할 때

그것은 발생합니다. AS3 업로드 (에 JS 호출) 기능은 매번 파일 업로드가 완료 될 수 있도록

는 그래서, AS3 못해 전화를함으로써

(이벤트 리스너해서 Event.COMPLETE에서), 내 AS3와 JS 모두 변경 한 여러 파일을 동시에 upload.php합니다. 대신, 업로드를 완료 한 파일을 기다린 후 다음 파일에 대한 다른 업로드를 요청합니다.

1

내가 기억한다면 php에서 2MB의 업로드 제한이 있으며 php.ini 파일에서 변경할 수 있습니다.

+0

출처 : http://www.kavoir.com/2010/02/php-get-the-file-uploading-limit-max-file-size-allowed-to-upload.html $ max_upload = (int) (ini_get ('upload_max_filesize')); $ max_post = (int) (ini_get ('post_max_size')); $ memory_limit = (int) (ini_get ('memory_limit')); $ upload_mb = min ($ max_upload, $ max_post, $ memory_limit); – Casey

+0

아니요, 이것은 문제가되지 않습니다. "크기가 큰 많은 파일"을 업로드하는 경우에만 문제가 발생합니다. – neobie