첨부파일오류 하나는 되고 하나는 안되는 이유가.. 채택완료
sliverzero
1년 전
조회 2,033
sub0401.php , sub0401_send.php는 제품문의고
sub0402.php , sub0402_send.php는 a/s문의입니다
전체적으로 비슷한데 조금씩 목록 몇개만 달라서 바꿨는데
sub0401(제품문의)는 파일 전송이 잘되는데
sub0402(as문의)는 첨부파일 : 없음으로 뜹니다ㅠㅠ이유가뭘까요
제가 생각하기에.. 보는데 필요한 부분만 잘라서 올립니다
sub0401입니다
</p>
<p><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></p>
<p></form>
</fieldset></p>
<p>
sub0401_send입니다
</p>
<p>if(isset($_POST['email'])) {</p>
<p> // 파일 업로드 처리
$file = $_FILES['attachment'];
$tmpName = $file['tmp_name'];
$filename = basename($file['name']);
$target_dir = G5_DATA_PATH . "/mail/"; // 파일 업로드 디렉토리
$target_file = $target_dir . $filename; // 업로드할 파일 경로</p>
<p> // 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++;
}</p>
<p> // 디렉토리 생성
if (!is_dir($target_dir)) {
@mkdir($target_dir, 0707);
@chmod($target_dir, 0707);
}</p>
<p> move_uploaded_file($tmpName, $target_file);</p>
<p>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양식을 다시 확인해주세요.');
}</p>
<p> $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; // 파일 경로</p>
<p> $email_to = "silver@designtalktalk.com";</p>
<p> $email_subject = "[_제품문의]".$title;
$email_subject = '=?UTF-8?B?'.base64_encode($email_subject).'?=';</p>
<p> function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}</p>
<p> $email_message .= "분류 : ".clean_string($class)."
"; //다중체크
$email_message .= "기업명 : ".clean_string($company)."
";
$email_message .= "성함 : ".clean_string($name)."
";
$email_message .= "핸드폰번호 : ".clean_string($tel)."
";
$email_message .= "이메일 주소 : ".clean_string($email)."
";
$email_message .= "제품 : ".clean_string($product)."
";
$email_message .= "제품 종류 : ".clean_string($subproduct)."
";
$email_message .= "수량 : ".clean_string($quantity)."
";
$email_message .= "내용 : ".clean_string(nl2br($content))."
";</p>
<p>
if(!empty($filename) && file_exists($target_file)) {
$email_message .= "첨부파일 : <a target='_blank' href='" . $file_url . "' download>".$filename."</a>
";
} else {
$email_message .= "첨부파일 : 없음
";
}</p>
<p>
이 아래로는
sub0402_와 sub0402_send입니다
</p>
<p><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></p>
<p> </p>
<p> </p>
<p> 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양식을 다시 확인해주세요.');
}</p>
<p> $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; // 파일 경로</p>
<p> $email_to = "silver@designtalktalk.com";</p>
<p> $email_subject = "[_제품문의]".$title;
$email_subject = '=?UTF-8?B?'.base64_encode($email_subject).'?=';</p>
<p> function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}</p>
<p> $email_message .= "기업명 : ".clean_string($company)."
";//다중체크
$email_message .= "성함 : ".clean_string($name)."
";
$email_message .= "핸드폰번호 : ".clean_string($tel)."
";
$email_message .= "이메일 주소 : ".clean_string($email)."
";
$email_message .= "주소 : ".clean_string($address)."
";
$email_message .= "제품 : ".clean_string($product)."
";
$email_message .= "제품 종류 : ".clean_string($subproduct)."
";
$email_message .= "고장 내용 : ".clean_string($fix)."
";
$email_message .= "내용 : ".clean_string(nl2br($content))."
";</p>
<p>
if(!empty($filename) && file_exists($target_file)) {
$email_message .= "첨부파일 : <a target='_blank' href='" . $file_url . "' download>".$filename."</a>
";
} else {
$email_message .= "첨부파일 : 없음
";
}</p>
<p>
겹치면 안되는 파일명이나 그런게 있는건지ㅠㅠ
어디가 문제인지 알려주세요ㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
1년 전
sub0402_send 에는 아래 부분이 없네요
</p>
<pre>
<code> // 파일 업로드 처리
$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);</code></pre>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
s
sliverzero
1년 전
이 부분은 동일하여 생략하였습니다ㅠㅠ 원래 파일에는 있습니다!
댓글을 작성하려면 로그인이 필요합니다.
1년 전
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
s
sliverzero
1년 전
기본상태가 1000이었습니다
늘렸는데 max_input_vars local value는 5000으로 바뀌고 master value는 그대로입니다
그누보드를 사용중인데 max_input_vars 값이 작을경우 자동으로 경고창 안내가 나오는 거 아닌가요..? 그런 경고창은 안떠서요
그래도 여전히 첨부파일 없음으로 뜨네요
이렇게 설정해뒀었는데 잘모르겠지만 뭔가 코드오류일것같은데..
sub0401_send와 비교해봐도 똑같습니다
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>";
}
늘렸는데 max_input_vars local value는 5000으로 바뀌고 master value는 그대로입니다
그누보드를 사용중인데 max_input_vars 값이 작을경우 자동으로 경고창 안내가 나오는 거 아닌가요..? 그런 경고창은 안떠서요
그래도 여전히 첨부파일 없음으로 뜨네요
이렇게 설정해뒀었는데 잘모르겠지만 뭔가 코드오류일것같은데..
sub0401_send와 비교해봐도 똑같습니다
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>";
}
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인