2011-10-05 3 views
0

PDF를 업로드하고 문제의 근본 원인을 파악하는 데 문제가있는 양식을 설정하고 있습니다.폼을 uplaod로 설정하는 중 오류가 발생했습니다. PDF 파일

한 페이지에 양식이 있습니다.

<form enctype="multipart/form-data" action="step3.php" method="post"> 
      <label>Select Any PDF's For This Product <br /><span style="font-size:12px; margin-left: 4px;">(Must be pdf format. Max file size 60MB)</span></label><br /><br /> 
      <input type="hidden" name="MAX_FILE_SIZE" value="60000" /> 
      <input name="uploadedpdf1" type="file" /><br /> 
      <input name="uploadedpdf2" type="file" /><br /> 
      <input name="uploadedpdf3" type="file" /><br /> 
      <input name="uploadedpdf4" type="file" /><br /> 
      <input name="uploadedpdf5" type="file" /><br /><br> 
      <input type="submit" name="submit" value="Next Step" /> 
     </form> 

다음 페이지에서는 긴 PHP 스크립트를 사용하여 파일을 업로드하고 유효성을 검사합니다. 내 문제는 스크립트가 시작될 때부터 시작되므로 매우 단순화 된 버전을 게시 할 예정입니다.

for ($i = 1; $i < 6; ++$i) {  
$file = "uploadedpdf{$i}"; 

if($_FILES[$file]["name"]!="") { 

$fileName = $_FILES[$file]["name"]; 
$fileTmpLoc = $_FILES[$file]["tmp_name"]; 
$fileType = $_FILES[$file]["type"]; 
$fileSize = $_FILES[$file]["size"]; 
$fileErrorMsg = $_FILES[$file]["error"]; 
}} 

이 시점에서 나는 업로드 된 파일에 대한 정보를 가져와서 업로드 할 수 있는지 확인하고 있습니다.

$ _FILES [$ file] [ "tmp_name"] 또는 $ _FILES [$ file] [ "type"]에 대한 값이 없습니다.

$ _FILES [$ 파일] [ "크기"] = 0

$ _FILES [$ 파일] [ "오류"] = 2

하지만 $ _FILES [$ 파일] [ "이름"] 잘 작동합니다.

왜 내 파일에 크기가 없으며 2 가지 오류를 디버깅 할 수 있습니까?

답변

1

$_FILES의 정보에 액세스하기 전에 check the error entry을 입력해야합니다. 귀하의 경우 오류 2는 업로드 된 파일의 크기가 POST 필드 MAX_FILE_SIZE의 숫자 값보다 크다는 것을 의미합니다. 일반적으로 숨겨진 입력 필드가 설정됩니다. 이 입력 필드가 올바른 value인지 확인하거나 제거하십시오.

+0

양식에 MAX_FILE_SIZE 값 = "60000"이 표시되어 60MB를 처리해야하지만 그만해야합니다. 60MB에 필요한 가치를 아십니까? –

+2

1024 * 60000 –

+0

빠른 응답을 보내 주셔서 감사합니다. –

2

파일이 너무 큽니다. HTML 양식에 지정된

UPLOAD_ERR_FORM_SIZE

Value: 2; The uploaded file exceeds the MAX_FILE_SIZE directive 

: 오류 번호에 따라 (당신은 manual에 대한 목록을 볼 수 있습니다).

는 크기가 바이트 그래서 60메가바이트 = 61440000을 지정 :

너의 코멘트 후

<input type="hidden" name="MAX_FILE_SIZE" value="60000" /> 

편집이다. 또한 이러한 크기 (directy * upload_max_filesize *)를 허용하는 php INI 설정과 시간 제한을 초과하지 않도록주의하십시오.

관련 문제