2013-05-18 3 views
-1

PHP 폼이 있는데 첨부 파일로 이미지를 가져 오려고합니다. 1. 확실하지 않습니다. (내가 일부 problams 있었기 때문에) 이미지를 전송 .. 제가 심지어 버튼의 index.php로서 서버에서 열 때 2. problam 주목할 것은 짝수 페이지에 도시되어있다 ..php 양식의 첨부 파일로 이미지 보내기

<?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 
} 


?> 

사전에 감사 : 여기

코드입니다!

+0

phpmailer no? : D – Sam

+0

예, 또는 SwiftMailer. 여러 부분 이메일을 보내는 것과 같은 일을하는 것이 훨씬 더 신뢰할 수 있습니다. – halfer

답변

0

이미지를 전자 메일에 가입 시키려면 MIME 전자 메일을 만들어야하는데 간단한 전자 메일()로는 충분하지 않습니다. 모듈의 Gazillions가이를 처리하지만 PEAR의 Mail_Mime은 일반적으로 이미 사용자 환경에서 사용할 수 있습니다.

+0

다른 사람이 볼 수있는 경우 내 질문을 편집했습니다. – shmnsw

관련 문제