웹 응용 프로그램을 개발할 때 파일 업로딩이 일반적인 요구 중 하나입니다. 그러나이 프로세스에는 업로드 크기 제한, 일관성없는 형식 또는 임시 폴더 누락과 같은 다양한 오류가 수반 될 수 있습니다. 사용자 경험과 프로그램 안정성을 향상 시키려면 개발자는 이러한 오류를 체계적으로 처리하고 사용자에게 정확한 프롬프트를 제공해야합니다.
먼저, 업로드 관련 매개 변수를 php.ini 로 구성해야합니다. 서버가 업로드 요청을 직접 거부하지 않도록해야합니다.
upload_max_filesize = 2M ; 업로드 된 파일의 최대 크기,기본값입니다2M
post_max_size = 8M ; POST요청에 의해 운반 할 수있는 총 데이터 금액,기본값입니다8M
이 매개 변수를 조정 한 후 웹 서비스를 다시 시작하는 것을 잊지 마십시오.
다음은 업로드 오류를 처리하는 PHP 코드 예제입니다.이 오류는 오류 유형에 따라 명시적인 프롬프트 정보를 반환합니다.
<?php
// 파일 업로드가 성공했는지 확인하십시오
if ($_FILES['file']['error'] !== UPLOAD_ERR_OK) {
// 오류 처리를 업로드하십시오
switch ($_FILES['file']['error']) {
case UPLOAD_ERR_INI_SIZE:
case UPLOAD_ERR_FORM_SIZE:
$errMsg = '파일 크기는 한계를 초과합니다!';
break;
case UPLOAD_ERR_PARTIAL:
$errMsg = '부분 파일 만 업로드됩니다!';
break;
case UPLOAD_ERR_NO_FILE:
$errMsg = '파일이 업로드되지 않았습니다!';
break;
case UPLOAD_ERR_NO_TMP_DIR:
$errMsg = '임시 폴더는 존재하지 않습니다!';
break;
case UPLOAD_ERR_CANT_WRITE:
$errMsg = '파일 쓰기가 실패했습니다!';
break;
case UPLOAD_ERR_EXTENSION:
$errMsg = '파일 업로드는 확장자에 의해 차단됩니다!';
break;
default:
$errMsg = '알 수없는 오류!';
break;
}
echo $errMsg;
exit;
}
// 파일 크기를 확인하십시오
if ($_FILES['file']['size'] > 2 * 1024 * 1024) {
echo '파일 크기는 한계를 초과합니다!';
exit;
}
// 파일 유형을 확인하십시오
$allowedTypes = ['image/jpeg', 'image/png', 'image/gif'];
if (!in_array($_FILES['file']['type'], $allowedTypes)) {
echo '파일 유형은 허용되지 않습니다!';
exit;
}
// 파일 업로드를 성공적으로 업로드하십시오,후속 작업을 수행하십시오
// ...
?>
위의 예에서는 파일을 업로드하면 즉시 명확한 오류 메시지를 반환 할 때 예외가 발생합니다. 이것은 사용자 경험을 향상시키는 데 특히 중요합니다. 사용자의 혼란을 피하기 위해 공식 프로젝트에서 프론트 엔드 상호 작용의 논리를 국제화하거나 프론트 엔드 상호 작용의 논리를 통합하는 것이 좋습니다.
공식 배치 전에 파일을 업로드 한 대상 디렉토리에 적절한 쓰기 권한이 있는지 확인해야합니다. 그렇지 않으면 코드가 논리적이라도 파일이 저장되지 않을 수 있습니다.
PHP 매개 변수를 합리적으로 구성하고 특정 오류 처리 로직을 결합하여 업로드 프로세스 중 예상치 못한 상황을 효과적으로 피할 수 있습니다. 명확하고 친근한 오류보고 정보를 사용자에게 제공하면 사용자 만족도를 향상시킬뿐만 아니라 개발자가 문제를 신속하게 찾을 수 있습니다.