PHP는

2012-03-31 1 views
0

여러 개의 첨부 파일을 보내려면이 코드를 writte :PHP는

$tablica_plikow=$_FILES["file"]; //array of files 
if(!empty($tablica_plikow['name'])){///if attachment 
      $uid = md5(uniqid(time())); 

    $header = "From: od\n"; 
    $header .= "MIME-Version: 1.0\r\n"; 
    $header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n"; 

    $header .= "--".$uid."\r\n"; 
    $header .= "Content-type:text/html; charset=iso-8859-2\r\n"; 
    $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n"; 
    $header .=win2iso($_POST['tresc'])."\r\n\r\n\r\n\r\n\r\n\r\n";///message 
    $header .= "--".$uid."\r\n"; 

    for($i=0; $i<count($tablica_plikow['name']); $i++){ 

    if ($tablica_plikow["error"][$i] > 0) 
    { $komunikat = "<img src=\"img_panel/bttn_error.gif\">"."Return Code: " . $tablica_plikow["error"][$i] ; 


    } 
    if (file_exists("zalacznik/" . $tablica_plikow["name"][$i])) 
     { 

     $komunikat = "<img src=\"img_panel/bttn_error.gif\">"."Return Code: " . $tablica_plikow["name"][$i]. " already exists. " ; 

     } 
    else 
     { 
     if(is_uploaded_file($tablica_plikow["tmp_name"][$i])) { 
    move_uploaded_file($tablica_plikow["tmp_name"][$i], 
    "zalacznik/" . $tablica_plikow["name"][$i]); 
    $komunikat = "<img src=\"img_panel/bttn_info.gif\">" . "zalacznik/" . $tablica_plikow["name"][$i]; 

    $target_path="zalacznik/" . $tablica_plikow["name"][$i]; 
    $file = "zalacznik/".$tablica_plikow["name"][$i]; 
    $file_size = filesize($file); 
    $handle = fopen($file, "rb"); 
    $content = fread($handle, $file_size); 
    fclose($handle); 
    $content = chunk_split(base64_encode($content)); 
    $name = basename($file); 
    $header .= "Content-Type: ".$tablica_plikow["type"][$i]." name=\"".$tablica_plikow["name"][$i]."\"\r\n"; // use different content types here 
    $header .= "Content-Transfer-Encoding: base64\n\r".$content."\r\n\r\n";; 
    $header .= "Content-Disposition: attachment; filename=\"".$tablica_plikow["name"][$i]."\"\r\n\r\n"; 
    // $header .= $content."\r\n\r\n"; 
    $header .= "--".$uid."-- \r\n"; 

      } 
     } 
    } 
    if (mail("[email protected]", $_POST['tytul'], "", $header)) { 

     $komunikat = "<img src=\"img_panel/bttn_info.gif\">mail send"; 


    } else { 
     $komunikat = "<img src=\"img_panel/bttn_error.gif\">error"; 

     } 

을하지만 두 개 이상의 첨부 파일이있는 이메일을 보낼 때, 단 하나의 file.This 파일이 모든 첨부 파일의 연결입니다받을 수 있습니다. 하지만 파일의 첫 번째 부분은 첫 번째 첨부 파일이고 다른 부분은 hashmap 다른 파일입니다.

답변

-1

I 조언 당신이 regarding email with attachment in php

감사

를 참조하십시오 표준 사용하고 그것은 전에 여기에 설명 된 같은

phpMail

으로 lib에는 메일 링 테스트 한

:

+0

나는 이런 종류의 대답에 절대 동의하지 않습니다. 누군가가 PHP 기능에 대한 도움을 요청하면 "이 라이브러리를 대신 사용하십시오"라고 회신하지 마십시오. – realtebo

0

예를 들어 라이브러리를 사용합니다.

  • Zend_Mail
  • 배 Mail_Mime