티스토리 뷰
<!doctype html>
<html lang=`ko`>
<head>
<meta charset="utf-8">
</head>
<body>
<form name="form1" method="post" action="upload.php" ENCTYPE="multipart/form-data" accept-charset="UTF-8">
<input type="file" name="txtPHOTO" id="txtPHOTO" READONLY/>
<?php if($row["S_PHOTO_REAL"]!="") {
$savedir = "/upfile/ZJ20141127_224420/";
//echo "<a href=`".$savedir.$row["S_PHOTO"]."` target=`_blank`>".$row["S_PHOTO_REAL"]."</a>";
echo "<a href=`".$savedir.$row["S_PHOTO"]."` target=`_blank` style=`padding-right:20px;`>이미지</a>";
} ?>※ 용량은 2MB 초과 할 수 없습니다 ※ 파일은 JPG / PNG 만 가능합니다.<input type="submit" />
</form>
</body>
</html>
[ upload.php ]
<?
// 파일처리 시작
if($txtPHOTO=="") { // 이름은 없는데 기존 파일명이 있는경우
$queryCheck = "SELECT * FROM DBS_SUDAN_DETAIL WHERE S_P_IDX = ".$dataSidx;
$resultCheck = mysql_query($queryCheck);
$rowNumCheck = mysql_affected_rows();
for($c = 0; $c < $rowNumCheck; $c++) {
$rowCheck = mysql_fetch_array($resultCheck);
$fileFullNameReal = $rowCheck["S_PHOTO_REAL"];
$fileFullName = $rowCheck["S_PHOTO"];
}
}
if($txtPHOTO!="") {
$fileFullNameReal = $_FILES["txtPHOTO"]["name"];
$fileFullName = date("YmdHis");
$fileFullNameTemp = $_FILES["txtPHOTO"]["tmp_name"];
$fileExtName = pathinfo($fileFullNameReal); // dirname / basename / extension
$fileExtName = $fileExtName[`extension`];
$fileFullName .= ".".$fileExtName;
$fileSize = $_FILES["txtPHOTO"]["size"]; // 31998byte
$fileSizeMB = bcdiv(bcdiv($fileSize,`1024`,3),`1024`,3); // byte -> MB 변환
// 파일용량 2MB 체크 시작
if($fileSizeMB > 2) {
echo "<script>alert(`파일용량은 2MB 를 초과 하실 수 없습니다. 작은 사이즈의 파일을 업로드 해주세요`);</script>";
break;
}
// 파일용량 2MB 체크 끝
// 확장자 체크 시작
if(!(
(strcasecmp($fileExtName, "JPG") == 0)
OR
(strcasecmp($fileExtName, "PNG") == 0)
)) {
echo "<script>alert(`등록할수 없는 파일 형식 입니다`);</script>";
break;
}
// 확장자 체크 끝
// 파일 저장위치 시작
//$savedir = $_SERVER[DOCUMENT_ROOT]."/upfile/".$dataMunjung."/";
$savedir = $_SERVER[DOCUMENT_ROOT]."/upfile/ZJ20141127_224420/";
//$savedir = $_SERVER[DOCUMENT_ROOT]."/upfile/";
$dest = $savedir."".$fileFullName;
$fileFullNameTemp = $_FILES["txtPHOTO"]["tmp_name"];
if(@exec("cp $fileFullNameTemp $dest")!=0){
echo "<script>alert(`파일입력 오류`);</script>";
break;
} else {
unlink($fileFullNameTemp);
// 기존 이미지가 있으면 삭제 시작
$queryCheck = "SELECT * FROM DBS_SUDAN_DETAIL WHERE S_P_IDX = ".$dataSidx;
$resultCheck = mysql_query($queryCheck);
$rowNumCheck = mysql_affected_rows();
for($c = 0; $c < $rowNumCheck; $c++) {
$rowCheck = mysql_fetch_array($resultCheck);
if($rowCheck["S_PHOTO"]!="") { // 파일이 있을 경우
$fileFullNameTemp = $savedir.$rowCheck["S_PHOTO"]; //$savedir 위 저장위치에서 가져옴
unlink($fileFullNameTemp);
}
}
// 기존 이미지가 있으면 삭제 끝
}
// 파일 저장위치 끝
//echo "<script>alert(`파일작업 / ".$fileFullNameReal." / ".$fileFullNameTemp." / ".$fileFullName." / ".$fileSize." / ".$fileSizeMB." / ".$savedir." `);</script>";
//break;
}
// 파일처리 끝
?>
'Language > PHP' 카테고리의 다른 글
[ PHP ] 문자열 함수 (0) | 2016.02.10 |
---|---|
[ PHP ] function - 함수 펑션 (0) | 2016.02.10 |
[ PHP ] 대소문자 구분 없는 비교 - strcasecmp (0) | 2016.02.04 |
[ PHP ] 확장자 구하기 - pathinfo (0) | 2016.02.04 |
[ PHP ] 정밀 함수 구하기 계산결과 - BC Math 함수 (0) | 2016.02.04 |