PHP 프로젝트에서는 서버 루트 디렉터리에 직접 파일을 업로드해야 하는 경우가 있습니다. 이 기능 구현에는 주로 파일 업로드 처리, 파일 형식 확인, 고유한 파일 이름 생성과 같은 단계가 포함됩니다.
<?php // 업로드가 허용되는 파일 형식 지정 $allowedTypes = ['image/jpeg', 'image/png', 'image/gif']; // 파일 업로드 if (isset($_FILES['file']) && $_FILES['file']['error'] == 0) { // 파일 형식 가져오기 $fileType = $_FILES['file']['type']; // 파일 형식이 허용되는지 확인하세요. if (!in_array($fileType, $allowedTypes)) { echo '허용되지 않는 파일 형식。'; exit; } // 파일 확장자 가져오기 $extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); // 새 파일 이름 생성(타임스탬프와 함께 임의의 값 추가) $newFileName = time() . '_' . rand(1, 999) . '.' . $extension; // 파일을 루트 디렉터리로 이동 $uploadPath = getcwd() . '/' . $newFileName; move_uploaded_file($_FILES['file']['tmp_name'], $uploadPath); echo '파일이 성공적으로 업로드되었습니다.!'; } else { echo '파일 업로드 실패。'; } ?>
프런트엔드에서는 파일 업로드를 위한 양식을 제공해야 합니다.
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="업로드"> </form>
위의 방법을 사용하면 PHP 서버의 루트 디렉터리에 파일을 안전하게 업로드하는 데 도움이 될 수 있습니다. 업로드 프로세스 중에 파일 형식을 확인하고 고유한 파일 이름을 사용하여 기존 파일을 덮어쓰지 않도록 하세요. 적절한 프런트엔드 양식과 백그라운드 처리를 통해 파일 업로드 작업을 간단하고 효율적으로 완료할 수 있습니다.