2013-05-19 2 views
0

PHP 폼이 있는데 첨부 파일로 이미지를 보내려고합니다. 이미 코드에서 몇 가지 사항을 수정했습니다. 이미지 첨부 파일을 보내고 있습니다.

  • 문제는 (스크립트가 아래에 실행 된 I을 때) 아무것도 심지어 페이지에 표시되지 않습니다 점이다 (내가 몇 가지 문제가 있었기 때문에)는 이미지를 보낼 경우

    1. 는 잘 모르겠어요

      <?php 
      
      include_once("functions.php"); 
      // Process 
      $action = isset($_POST["action"]) ? $_POST["action"] : ""; 
      if (empty($action)) 
      { 
          // Send back the contact form HTML 
          $output = "<form action='#' style='display:none'> 
             <input type='file' id='image' name='image' maxlength=50>"; 
      } 
      
      require("class.phpmailer.php"); 
      $Email_to = "[email protected]"; // the one that recieves the email 
      $email_from = "[email protected]"; 
      $dir = "uploads/$filename"; 
      chmod("uploads",0777); 
      
      
      function uploadImage($image) 
      { 
          if ((($_FILES["image"]["type"] == "image/gif") 
          || ($_FILES["image"]["type"] == "image/jpeg") 
          || ($_FILES["image"]["type"] == "image/pjpeg") 
          || ($_FILES["image"]["type"] == "image/jpg") 
          || ($_FILES["image"]["type"] == "image/png")) 
          && ($_FILES["image"]["size"] < 2097152) 
          && (strlen($_FILES["image"]["name"]) < 51)) 
          { 
           if ($_FILES["image"]["error"] > 0) 
           { 
            echo "Return Code: " . $_FILES["image"]["error"]; 
           } 
           else 
           { 
            echo "Upload: " . $_FILES["image"]["name"] . "<br />"; 
            echo "Type: " . $_FILES["image"]["type"] . "<br />"; 
            echo "Size: " . ($_FILES["image"]["size"]/1024) . " Kb<br />"; 
            echo "Temp file: " . $_FILES["image"]["tmp_name"] . "<br />"; 
      
            if (file_exists("images/" . $_FILES["image"]["name"])) 
            { 
            echo $_FILES["image"]["name"] . " already exists. "; 
            } 
            else 
            { 
             move_uploaded_file($_FILES["image"]["tmp_name"], 
              "images/" . $_FILES["image"]["name"]); 
            } 
           } 
          } 
          else 
          { 
           echo "Invalid file"; 
          } 
          $filename = $_FILES["image"]["type"]; 
          $dir = "uploads/$filename"; 
          chmod("uploads",0777); 
          $success = copy($_FILES[images][tmp_name], $dir); 
          if ($success) 
          { 
           echo " Files Uploaded Successfully<BR>"; 
           SendIt(); 
          } 
      }//end of upload func' 
      
      
      function SendIt() { 
      // 
      global $attachments,$Email_to,$Email_msg,$email_subject,$email_from; 
      
      $mail = new PHPMailer(); 
      $mail->IsSMTP();// send via SMTP 
      $mail->Host = "localhost"; // SMTP servers 
      $mail->SMTPAuth = false; // turn on/off SMTP authentication 
      $mail->From = $email_from; 
      $mail->AddAddress($Email_to); 
      $mail->AddReplyTo($email_from); 
      $mail->WordWrap = 50;// set word wrap 
      //now Attach all files submitted 
      $mail->AddAttachment("uploads"."/".$_FILES["image"]["type"]); 
      
      $mail->IsHTML(false);// send as HTML 
      } 
      
      
      ?> 
      

      사전에 감사 : 나는 index.php조차 버튼 여기

    로 서버를 열은 코드입니다!

  • 답변

    0

    문제 1의 경우 :

    변수를 입력하지 않고 해당 클래스의 메일을 보내 봅니다. 따라서 일부 절차 코드를 작성하여 자신의 주소로 메일을 보내고 도착하는지 확인하십시오. 당신은 $output에 텍스트를 가하고 있습니다하지만 당신은 결코 $output를 출력하지 않습니다

    : 문제 2의

    .

    +0

    이 세 줄을 추가했습니다 : – shmnsw

    +0

    이 세 줄을 추가했습니다 : echo $ output; // $ image = $ _POST [ "image"]; uploadImage ($ 이미지); : if (empty ($ action)) 블록 바로 다음에 아무것도 표시되지 않습니다. – shmnsw

    관련 문제