저는 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);
}
해당 폴더 소유자의 문제가 아니라 PHP 파일 업로드 제한에 문제가 있습니다. php.ini에서 업로드 제한을 늘려야합니다. –
[PHP는 최대 업로드 파일 크기 변경] (http : /stackoverflow.com/questions/2184513/php-change-the-maximum-upload-file-size) –