상세 컨텐츠

본문 제목

php 이미지 업로드

쿠쿠 작업장(web program)/php

by eunclove 2015. 6. 15. 14:50

본문

728x90
반응형

파일을 하나로 해도 되긴 하지만.......

나중에 카피해서 쓰기 편하게 두개로 ㅋㅋㅋㅋㅋ


우선은 간단하게 폼파일을....


<html>

<head>

<title>image upload

</title>

</head>

<body>

<form name="imgupload" action="upload.php" method="post" enctype="multipart/form-data">

<input type="hidden" name="MAX_FILE_SIZE" value="25242880" />

<input type="file" name="upload" />

<input type="submit" value="업로드" />

</form>

</body>

</html>


위에서 만든내용 처럼 form에서 전송할 upload.php 파일을 만든다.


<?php

//db 접속설정을 해주어야만 합니다.

//파일이 있는지 없는지 체크

if(!isset($_FILES['upload'])){

echo "업로드된 이미지가 없습니다.

}


//업로드 이미지 체크

if($_FILES['upload']['error'] > 0) {

switch ($_FILES['upload']['error']){

case 1 : echo "php.ini 파일의 upload_max_filesize 설정값을 초과";

break;

case 2 : echo "Form에서 설정된 MAX_FILE_SIZE 설정값을 초과";

break;

case 3 : echo "파일 일부만 업로드 됨";

break;

case 4 : echo "업로드된 파일이 없음";

break;

case 5 : echo "사용가능한 임시폴더가 없음";

break;

case 6 : echo "디스크에 저장할수 없음";

break;

case 7 : echo "파일 업로드가 중지됨";

break;

default : echo "시스템 오류";

break;

}

}

if($_FILES['upload']['size'] > 25242880) {

echo "업로드 용량 초과";

}


$imagecheck = array ('jpg',jpeg','gif','png','bmp');//확장자 체크

$imgpath = pathinfo($_FILES['upload']['name']);//이미지 파일명 체크

$imgext = strtolower($imgpath['extension'])://확장자가 대문자라면 소문자로 처리

if(!in_array($imgext, $imagecheck)){

echo "업로드가 불가한 확장자 입니다.";

}

$imagecheck2 = array('image/jpeg', 'image/JPG', 'image/X-PNG', 'image/PNG', 'image/png', 'image/x-png', 'image/gif','image/bmp','image/pjpeg');

if(!in_array($_FILES['upload']['type'], $imagecheck2)) {

exit("지정된 이미지만 허용됩니다.");

}


$img_size = getimagesize($_FILES['upload']['tmp_name']);


do{

$time = explode(' ',microtime());

$fileName = $time[1].substr($time[0],2,6).'.'.strtoupper($imgext);

$filePath = $_SERVER['DOCUMENT_ROOT'].'파일을 저장할 경로설정';

}while($result->num_rows > 0); 


//db에 저장할 정보 가져옴 

$upload_filename = $_FILES['upload']['name'];

$file_size = $_FILES['upload']['size'];

$file_type = $_FILES['upload']['type'];


$sql = insert 테이블명 set

"db에 저장될 파일이름 = '$upload_filename',

db에 저장될 파일사이즈 = '$file_size',

db에 저장될 파일타입 = '$file_type',

db에 저장될 파일경로 = '$filePath'";

if (move_uploaded_file($_FILES['upload']['tmp_name'], $filePath.$fileName)) {

}// 실질적으로 업로드 시키는 구문

    sql_query($sql);


    $no_id = mysql_insert_id();


?>

728x90

관련글 더보기

댓글 영역