[php] PHP 라이브러리 파일 업로드 처리

이번 포스트에서는 PHP를 사용하여 라이브러리 파일을 업로드하고 처리하는 방법에 대해 알아보겠습니다.

필요한 라이브러리

PHP로 파일 업로드를 처리하기 위해선 다음과 같은 라이브러리가 필요합니다.

  1. File 업로드 폼 : 파일을 업로드하기 위한 HTML 폼
  2. PHP 파일 : 파일 업로드를 처리하는 PHP 파일

File Upload Form

HTML에서 file input을 이용하여 파일을 업로드할 수 있는 Form을 작성합니다.

<form action="upload.php" method="post" enctype="multipart/form-data">
    Select file to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload File" name="submit">
</form>

PHP 파일

이제 위에서 만든 Form에서 전송된 파일을 처리하는 PHP 파일을 작성합니다.

<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}

// Allow certain file formats
if($imageFileType != "pdf" && $imageFileType != "doc" && $imageFileType != "docx") {
    echo "Sorry, only PDF, DOC, DOCX files are allowed.";
    $uploadOk = 0;
}

// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>

이제 File Upload Form과 PHP 파일을 합쳐서 파일 업로드를 처리할 수 있습니다.

이상으로 PHP를 사용하여 라이브러리 파일을 업로드하고 처리하는 방법에 대해 알아보았습니다. 필요에 따라서 확장자나 파일 크기 등을 추가적으로 검증하여 보안을 강화할 수 있습니다.

참고 자료