PHP를 사용하여 파일 업로드: "정의되지 않은 변수: HTTP_POST_FILES" 오류 문제 해결
PHP를 사용하여 서버에 파일을 업로드하는 과정은 간단할 수 있습니다. . 그러나 프로세스 중에 발생할 수 있는 오류를 해결하는 것이 중요합니다.
문제:
PHP를 사용하여 파일을 업로드하려고 할 때 오류가 발생합니다. "주의: 정의되지 않은 변수: HTTP_POST_FILES".
원인:
$HTTP_POST_FILES 변수는 업로드된 파일 정보를 저장하는 전역 배열을 의미합니다. 그러나 PHP 4.1.0부터 더 이상 사용되지 않으며 사용이 권장되지 않습니다.
해결책:
최신 PHP 버전에서는 업로드된 파일 데이터에 액세스하기 위한 다른 구조를 기대합니다. $HTTP_POST_FILES 대신 다음 방법을 사용하십시오.
$_FILES["file_name"]["key"]
여기서:
예제 코드:
다음 개선된 PHP 코드는 파일 업로드 모범 사례를 준수합니다.
$target_dir = "upload/"; $target_file = $target_dir . basename($_FILES["filename"]["name"]); $imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION)); $allowedTypes = ['jpg', 'png']; if (isset($_POST["submit"])) { // Check file type if (!in_array($imageFileType, $allowedTypes)) { echo "Type is not allowed"; } // Check if file already exists elseif (file_exists($target_file)) { echo "Sorry, file already exists."; } // Check file size elseif ($_FILES["filename"]["size"] > 5000000) { echo "Sorry, file is too large."; } else { // Upload file if (move_uploaded_file($_FILES["filename"]["tmp_name"], $target_file)) { echo "File uploaded successfully."; } } }
위 내용은 PHP에서 파일을 업로드할 때 \'정의되지 않은 변수: HTTP_POST_FILES\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!