2013-07-02 4 views
1

여기에서 문제를 볼 수 있습니다 http://bmi.sf.net/test.html.부트 스트랩 파일 업로드 후 빈 배열

정확한 코드는이 웹 사이트를 마우스 오른쪽 버튼으로 클릭하고 메뉴에서 View source을 선택하십시오.

Jasny 부트 스트랩 fileupload 플러그인을 사용하고 있습니다. 이 플러그인이 사용되는 양식이 있습니다. $ _FILES 배열이 조작 된 PHP 파일로 양식이 제출됩니다.

위의 코드에서 jQuery 양식 플러그인을 사용하여 양식 제출의 실시간 미리보기를 보았습니다. 그것은 행동의 다음 시리즈가 발생하는 경우를 제외하고 큰 노력 print_r($_FILES)

는 $ _FILES 배열이 비어 :

  • 사용자가 파일을 선택 PHP는 단 하나의 일을하고있다. 정상적인 PHP 출력을 보여줍니다.
  • 그런 다음 'x'버튼을 사용하여 양식을 지 웁니다. 예상대로 빈 배열을 표시합니다.
  • 사용자가 새 파일을로드합니다. 이제 배열은 기대에 비어 있습니다.

해결 방법?

사용자가 먼저 양식을 지우지 만 새 파일을 직접로드하는 경우 배열이 비어 있지 않습니다. 그러나 모든 사용자는이 작업을 수행하지 않으므로 주어진 문제를 해결하고 싶습니다.

답변

1

경쟁 조건처럼 보입니다. 파일 업로드 플러그인은 <input type="file">의 이름을 지우고 일반 형식으로 변경하지 않고 지우기 또는 제출의 차이점을 서버에 알려주기 위해 <input type="hidden">을 설정합니다. 그러나 귀하의 경우에는이 행동을 원하지 않습니다.

빠르고 더러운 수정 프로그램을 사용하려면 항상 <input type="file">의 이름을 변경하십시오.

$('#filep').on('change', function() { $(this).attr('name', 'filep') }); 
+0

트릭을 수행합니다. :) – yolo

관련 문제