본문 바로가기

PHP

php 이미지 업로드 연습

이미지 업로드 연습용 페이지를 만들어서 테스트 해보았다.

먼저 page1.php 에서 사용자 pc에서 이미지를 선택한다.

 <!DOCTYPE HTML>
 <html>
 <head>
 <title>이미지 업로드 연습</title>
 </head>

 <body>
 <form action="page2.php" method="post" enctype="multipart/form-data">

 <label>이미지업로드 </label>
   <input type="file" name="pic">
   <input type="submit" name="submit" value="전송">
 </form>

 </body>
 </html>

이미지를 선택한후 전송 버튼을 누르면 page2.php로 이동하고 여기에서 파일정보등을 받아서 서버에 저장시키면 끝....


<?
// 파일 확장자를 구해서 리턴
 function getExt($file){
  $needle = strrpos($file, ".") + 1;
  $slice = substr($file, $needle);
  $ext = strtolower($slice);
  return $ext;
 }

 $tmpname = $_FILES['pic']['tmp_name']; // 웹서버에 임시 저장된 파일
 $filename =$_FILES['pic']['name']; // 사용자 컴퓨터에서의 파일이름

 $file_exe_arr = explode(".", $filename); // 불러온 파일명을 .  기준으로 나눈다. ex) test.jpg  --> 'test', 'jpg'
 $file_name = $file_exe_arr[0]; // 배열을 기준으로 파일이름을 변수로 지정
 $ext = getExt($filename); //확장자 찾기
 $ext = strtolower($ext); // 확장자 소문자로 변환

 if($ext == "jpg" || $ext == "png" || $ext == "gif" || $ext == "jpge") {
 
  move_uploaded_file($tmpname, "./".$file_name.".".$ext);
 
 }
?>

여기서 주의 할 점은 첨부파일이 저장되는 위치의 파일 권한은 707/777로 수정해줘야 저장이 가능합니다.