2016-06-21 2 views
1

저는 PHP 초보자이며 양식 업로드를 처리하기위한 스크립트를 작성했습니다. 작은 파일 (1Mb 미만)에서 작동합니다. 그러나 ~ 4MB pdf 파일을 업로드하려고하면 오류 메시지가 반환됩니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?PHP에서 업로드 오류의 인쇄/디버그 원인

PS : 나는, php_info를 실행 "upload_tmp_dir을"의 값을 얻었고, 아파치 프로세스가 소유 디렉토리 (www가 데이터)로 설정

내 클라이언트 측 코드는

<form action="upper.php" method="post" enctype="multipart/form-data"> 
    <input type="file" name="myFile"><br> 
    <input type="submit" value="Upload"> 
</form> 

입니다 Upper.php는

을 포함합니다.
define("UPLOAD_DIR", "/var/www/html/upload/"); 

if (!empty($_FILES["myFile"])) { 
    $myFile = $_FILES["myFile"]; 

    if ($myFile["error"] !== UPLOAD_ERR_OK) { 
     echo "Error is " . $myFile["error"]; 
     //echo "<p>An error occurred.</p>"; 
     exit; 
    }  

    $name = preg_replace("/[^A-Z0-9._-]/i", "_", $myFile["name"]); 

    // don't overwrite an existing file 
    $i = 0; 
    $parts = pathinfo($name); 
    while (file_exists(UPLOAD_DIR . $name)) { 
     $i++; 
     $name = $parts["filename"] . "-" . $i . "." . $parts["extension"]; 
    } 

    // preserve file from temporary directory 
    $success = move_uploaded_file($myFile["tmp_name"], UPLOAD_DIR . $name); 
    if (!$success) { 
     echo "<p>Unable to save file.</p>"; 
     exit; 
    } 

    // set proper permissions on the new file 
    chmod(UPLOAD_DIR . $name, 0644); 
} 
+1

해당 폴더 소유자의 문제가 아니라 PHP 파일 업로드 제한에 문제가 있습니다. php.ini에서 업로드 제한을 늘려야합니다. –

+0

[PHP는 최대 업로드 파일 크기 변경] (http : /stackoverflow.com/questions/2184513/php-change-the-maximum-upload-file-size) –

답변

1

아마도 php.ini 파일에 잘못된 설정이 있습니다.

당신은 설정해야

; Maximum allowed size for uploaded files. 
upload_max_filesize = 40M 

; Must be greater than or equal to upload_max_filesize 
post_max_size = 40M 

는 이미 여기에 설명 : PHP change the maximum upload file size

1

당신은 php.in 파일에서 값을 설정하는 네드.
파일 열기 upload_max_filesizepost_max_size 행을 찾으십시오.
이 두 값을 변경하십시오. (M = MB)

; Maximum allowed size for uploaded files. 
upload_max_filesize = 20M 
; Must be greater than or equal to upload_max_filesize 
post_max_size = 20M 

효과를 위해 서버를 다시 시작하십시오.
참고 :

  1. 당신은 어떤 수를 설정할 수 있습니다. 그러나 10 진수 값을 사용하지 마십시오.
  2. NOTEPAD에서 php.ini 파일을 엽니 다. 사용자 워드 패드 또는 워드 프로세서를 사용하지 마십시오.
관련 문제