[php] PHP 파일 업로드 및 이미지 파일 처리

파일 업로드

PHP에서 파일을 업로드하려면 $_FILES 배열을 사용합니다. 다음은 간단한 파일 업로드 예제입니다.

<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="Upload">
</form>
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["file"]["name"]);
move_uploaded_file($_FILES["file"]["tmp_name"], $target_file);
echo "The file " . basename($_FILES["file"]["name"]) . " has been uploaded.";
?>

enctype="multipart/form-data" 폼 속성을 사용하여 파일을 전송하고, move_uploaded_file 함수를 사용하여 임시 파일에서 목적지로 파일을 이동시킵니다.

이미지 파일 처리

이미지 파일을 업로드하고 조작하는 것은 종종 필요합니다. PHP에서는 이미지 조작을 위해 GD 또는 Imagick 확장을 사용합니다. 예를 들어, 이미지 크기를 조절하거나 필터를 적용하는 등의 작업을 수행할 수 있습니다.

<?php
$filename = "uploads/example.jpg";

// 이미지 열기
$im = imagecreatefromjpeg($filename);

// 이미지 크기 조절
$new_width = 100;
$new_height = 100;
$new_im = imagecreatetruecolor($new_width, $new_height);
imagecopyresized($new_im, $im, 0, 0, 0, 0, $new_width, $new_height, imagesx($im), imagesy($im));

// 새 이미지 저장
$new_filename = "uploads/resized_example.jpg";
imagejpeg($new_im, $new_filename);

// 메모리 해제
imagedestroy($im);
imagedestroy($new_im);
?>

GD 또는 Imagick을 사용하여 이미지 크기를 조절하고, 새 이미지를 저장합니다.

PHP를 사용하여 파일 업로드 및 이미지 파일 처리를 안전하고 효율적으로 구현할 수 있습니다.

참고 자료