첨부파일오류 하나는 되고 하나는 안되는 이유가..

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
첨부파일오류 하나는 되고 하나는 안되는 이유가..

QA

첨부파일오류 하나는 되고 하나는 안되는 이유가..

본문

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)) {
    ($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)) {
    ($target_dir, 0707);
    @chmod($target_dir, 0707);
  }
  move_uploaded_file($tmpName, $target_file);

https://mara.tistory.com/473

이 글 참조해서 설정을 늘려보세요

PHP_VALUE max_input_vars 50000

기본상태가 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>";
  }

답변을 작성하시기 전에 로그인 해주세요.
전체 169
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT