[php] PHP를 사용한 파일 업로드와 파일 업로드 관리자 기능

이번 블로그에서는 PHP를 사용하여 파일 업로드와 파일을 관리하는 기능을 구현하는 방법에 대해 알아보겠습니다.

파일 업로드 기능 구현하기

PHP를 사용하여 파일을 업로드하는 기능을 구현하는 것은 상당히 간단합니다. 우선 파일 업로드 양식을 만들고, 해당 양식을 통해 서버로 파일을 전송하면 됩니다.

다음은 파일 업로드를 위한 PHP 코드의 간단한 예시입니다.

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_FILES["fileToUpload"])) {
    $target_dir = "/path/to/upload/directory/";
    $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "파일이 업로드되었습니다.";
    } else {
        echo "파일을 업로드하는 동안 오류가 발생했습니다.";
    }
}
?>

위 코드에서는 move_uploaded_file 함수를 사용하여 임시 디렉토리에 저장된 업로드된 파일을 목표 디렉토리로 이동시킵니다.

파일 업로드 관리자 기능 구현하기

파일을 업로드하는 기능을 구현했다면, 추가로 파일 업로드 기능을 관리할 수 있는 기능을 구현할 수도 있습니다. 예를 들어, 업로드된 파일 목록을 보여주고 파일을 삭제하는 기능을 추가할 수 있습니다.

다음은 파일 업로드 관리자 기능을 추가한 PHP 코드의 간단한 예시입니다.

<?php
$files = scandir($target_dir);
foreach ($files as $file) {
    if (!in_array($file, array(".", ".."))) {
        echo "<a href='{$target_dir}{$file}'>$file</a>";
        echo " <a href='delete.php?file={$file}'>Delete</a><br>";
    }
}
?>

위 코드에서는 scandir 함수를 사용하여 업로드된 파일 목록을 가져온 뒤, 각 파일에 대한 링크와 삭제 기능을 추가하였습니다.

마치며

이제 PHP를 사용하여 파일 업로드와 파일 업로드 관리자 기능을 구현하는 방법에 대해 알아봤습니다. 파일 업로드는 보안에 민감한 기능이므로, 이에 대한 보안을 고려하여 구현해야 합니다. 또한, 파일 업로드 관리자 기능을 추가할 때에도 보안상의 주의가 필요합니다.

참고 문헌: PHP 파일 업로드