첨부파일오류 하나는 되고 하나는 안되는 이유가..
본문
sub0401.php , sub0401_send.php는 제품문의고
sub0402.php , sub0402_send.php는 a/s문의입니다
전체적으로 비슷한데 조금씩 목록 몇개만 달라서 바꿨는데
sub0401(제품문의)는 파일 전송이 잘되는데
sub0402(as문의)는 첨부파일 : 없음으로 뜹니다ㅠㅠ이유가뭘까요제가 생각하기에.. 보는데 필요한 부분만 잘라서 올립니다
sub0401입니다
<fieldset>
<form name="contactform" action="/home/sub0401_send.php" method="post" class="fields" enctype="multipart/form-data">
<li id="file-upload">
<label class="lbl" for="file">첨부파일(도면)</label>
<div class="desc">
<input type="file" class="dxee-input full" name="attachment" id="file">
</div>
</li>
</form>
</fieldset>
sub0401_send입니다
if(isset($_POST['email'])) {
// 파일 업로드 처리
$file = $_FILES['attachment'];
$tmpName = $file['tmp_name'];
$filename = basename($file['name']);
$target_dir = G5_DATA_PATH . "/mail/"; // 파일 업로드 디렉토리
$target_file = $target_dir . $filename; // 업로드할 파일 경로
// Rename file if it already exists
$i = 1;
while (file_exists($target_file)) {
$filename = pathinfo($filename, PATHINFO_FILENAME) . '_' . $i . '.' . pathinfo($filename, PATHINFO_EXTENSION);
$target_file = $target_dir . $filename;
$i++;
}
// 디렉토리 생성
if (!is_dir($target_dir)) {
@mkdir($target_dir, 0707);
@chmod($target_dir, 0707);
}
move_uploaded_file($tmpName, $target_file);
if(!isset($_POST['class']) ||
!isset($_POST['company']) || //다중체크
!isset($_POST['name']) ||
!isset($_POST['tel']) ||
!isset($_POST['email']) ||
!isset($_POST['product']) ||
!isset($_POST['subproduct']) ||
!isset($_POST['quantity']) ||
!isset($_POST['content'])) {
died('죄송합니다.\n제출하신 양식에 문제가 있습니다.\n양식을 다시 확인해주세요.');
}
$class = $_POST['class'];
$company = $_POST['company']; // required
$name = $_POST['name']; // required
$tel = $_POST['tel']; // required
$email = $_POST['email']; // required
$product = $_POST['product']; // required
$subproduct = $_POST['subproduct']; // required
$quantity = $_POST['quantity'];
$content = $_POST['content'];
// $file_name = $file['name'];
$file_url = G5_DATA_URL . "/mail/" . $filename; // 파일 경로
$email_to = "*** 개인정보보호를 위한 이메일주소 노출방지 ***";
$email_subject = "[_제품문의]".$title;
$email_subject = '=?UTF-8?B?'.base64_encode($email_subject).'?=';
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "분류 : ".clean_string($class)."<br><br>"; //다중체크
$email_message .= "기업명 : ".clean_string($company)."<br><br>";
$email_message .= "성함 : ".clean_string($name)."<br><br>";
$email_message .= "핸드폰번호 : ".clean_string($tel)."<br><br>";
$email_message .= "이메일 주소 : ".clean_string($email)."<br><br>";
$email_message .= "제품 : ".clean_string($product)."<br><br>";
$email_message .= "제품 종류 : ".clean_string($subproduct)."<br><br>";
$email_message .= "수량 : ".clean_string($quantity)."<br><br>";
$email_message .= "내용 : ".clean_string(nl2br($content))."<br><br>";
if(!empty($filename) && file_exists($target_file)) {
$email_message .= "첨부파일 : <a target='_blank' href='" . $file_url . "' download>".$filename."</a><br><br>";
} else {
$email_message .= "첨부파일 : 없음<br><br>";
}
이 아래로는
sub0402_와 sub0402_send입니다
<li id="file-upload">
<label class="lbl" for="file">첨부파일(사진)<span class="txt_red">*</span></label>
<div class="desc">
<input type="file" class="dxee-input full" name="attachment" id="file" required>
</div>
</li>
if(!isset($_POST['company']) || //다중체크
!isset($_POST['name']) ||
!isset($_POST['tel']) ||
!isset($_POST['email']) ||
!isset($_POST['address']) ||
!isset($_POST['product']) ||
!isset($_POST['subproduct']) ||
!isset($_POST['fix']) ||
!isset($_POST['content'])) {
died('죄송합니다.\n제출하신 양식에 문제가 있습니다.\n양식을 다시 확인해주세요.');
}
$company = $_POST['company']; // required
$name = $_POST['name']; // required
$tel = $_POST['tel']; // required
$email = $_POST['email']; // required
$email = $_POST['address']; // required
$product = $_POST['product']; // required
$subproduct = $_POST['subproduct']; // required
$fix = implode(", ", $_POST['fix']);// fix 배열을 문자열로 변환
$content = $_POST['content'];
// $file_name = $file['name'];
$file_url = G5_DATA_URL . "/mail/" . $filename; // 파일 경로
$email_to = "*** 개인정보보호를 위한 이메일주소 노출방지 ***";
$email_subject = "[_제품문의]".$title;
$email_subject = '=?UTF-8?B?'.base64_encode($email_subject).'?=';
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "기업명 : ".clean_string($company)."<br><br>";//다중체크
$email_message .= "성함 : ".clean_string($name)."<br><br>";
$email_message .= "핸드폰번호 : ".clean_string($tel)."<br><br>";
$email_message .= "이메일 주소 : ".clean_string($email)."<br><br>";
$email_message .= "주소 : ".clean_string($address)."<br><br>";
$email_message .= "제품 : ".clean_string($product)."<br><br>";
$email_message .= "제품 종류 : ".clean_string($subproduct)."<br><br>";
$email_message .= "고장 내용 : ".clean_string($fix)."<br><br>";
$email_message .= "내용 : ".clean_string(nl2br($content))."<br><br>";
if(!empty($filename) && file_exists($target_file)) {
$email_message .= "첨부파일 : <a target='_blank' href='" . $file_url . "' download>".$filename."</a><br><br>";
} else {
$email_message .= "첨부파일 : 없음<br><br>";
}
겹치면 안되는 파일명이나 그런게 있는건지ㅠㅠ
어디가 문제인지 알려주세요ㅠㅠ
!-->!-->!-->답변 2
sub0402_send 에는 아래 부분이 없네요
// 파일 업로드 처리
$file = $_FILES['attachment'];
$tmpName = $file['tmp_name'];
$filename = basename($file['name']);
$target_dir = G5_DATA_PATH . "/mail/"; // 파일 업로드 디렉토리
$target_file = $target_dir . $filename; // 업로드할 파일 경로
// Rename file if it already exists
$i = 1;
while (file_exists($target_file)) {
$filename = pathinfo($filename, PATHINFO_FILENAME) . '_' . $i . '.' . pathinfo($filename, PATHINFO_EXTENSION);
$target_file = $target_dir . $filename;
$i++;
}
// 디렉토리 생성
if (!is_dir($target_dir)) {
@mkdir($target_dir, 0707);
@chmod($target_dir, 0707);
}
move_uploaded_file($tmpName, $target_file);
답변을 작성하시기 전에 로그인 해주세요.