[php] PHP 라이브러리 파일 업로드 처리
이번 포스트에서는 PHP를 사용하여 라이브러리 파일을 업로드하고 처리하는 방법에 대해 알아보겠습니다.
필요한 라이브러리
PHP로 파일 업로드를 처리하기 위해선 다음과 같은 라이브러리가 필요합니다.
- File 업로드 폼 : 파일을 업로드하기 위한 HTML 폼
- 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를 사용하여 라이브러리 파일을 업로드하고 처리하는 방법에 대해 알아보았습니다. 필요에 따라서 확장자나 파일 크기 등을 추가적으로 검증하여 보안을 강화할 수 있습니다.
참고 자료
-
[PHP 파일 업로드 처리 w3schools](https://www.w3schools.com/php/php_file_upload.asp) -
[PHP 파일 업로드 보안 php.net](https://www.php.net/manual/en/features.file-upload.php)