2009-11-01 7 views
0

첨부 파일이있는 메일 스크립트를 만들고 있습니다. 다음 ar 내 PHP 스크립트.메일 첨부 파일

  $filename=$_FILES["file1"]["name"]; 

$filetype=$_FILES["file1"]["type"]; 
$filesize=$_FILES["file1"]["size"]; 
$filetemp=$_FILES["file1"]["tmp_name"]; 
     if($filetype=="application/octet-stream" or $filetype=="text/plain" or $filetype=="application/msword") 
{ 
     $msg='Name :'.$_POST['s_name'].'<br>'; 
    $msg.='Date Of Birth :'.$_POST['s_dob'].'<br>'; 
     $msg.='Gendere :'.$_POST['s_gender'].'<br>'; 
     $msg.='Qualification :'.$_POST['s_quli'].'<br>'; 
     if($_POST['s_exp']!="") { 
     $msg.='Exp. (No of years) :'.$_POST['s_exp'].'<br>'; 
     } 
      if($_POST['ctc']!=""){ 
       $msg.='Current CTC :'.$_POST['ctc'].'<br>'; 
      } 
       $msg.='Address :'.$_POST['addr1'].'<br>'; 
       if($_POST['addr2']!=""){ 
       $msg.='Alternate address:'.$_POST['addr2'].'<br>'; 
        } 
       $msg.='City :'.$_POST['s_city'].'<br>'; 
      $msg.='State :'.$_POST['s_state'].'<br>'; 
       $msg.='Country :'.$_POST['s_country'].'<br>'; 
      $msg.='Mobile No.:'.$_POST['s_mobile'].'<br>'; 
        if($_POST['s_phone']!=""){ 
         $msg.='Phone no.:'.$_POST['s_phone'].'<br>'; 
         } 
        if($_POST['s_resume'] !="") 
       { 
        $msg.=$_POST['s_resume'].'<br>'; 
        } 
          $fp = fopen($file1, "r"); 
       $file = fread($fp, $filesize); 

         $file = chunk_split(base64_encode($file1)); 
         $num = md5(time()); 

    //Normal headers 

       $headers = "From: Aim-4-jobs<Aim-4-jobs>\r\n"; 
         $headers .= "MIME-Version: 1.0\r\n"; 
         $headers .= "Content-Type: multipart/mixed; "; 
         $headers .= "boundary=".$num."\r\n"; 
         $headers .= "--$num\r\n"; 

    // This two steps to help avoid spam  

       $headers .= "Message-ID: <".$now." [email protected]".$_SERVER['SERVER_NAME'].">\r\n"; 
       $headers .= "X-Mailer: PHP v".phpversion()."\r\n";   

    // With message 

        $headers .= "Content-Type: text/html; charset=iso-8859-1\r\n"; 
         $headers .= "Content-Transfer-Encoding: 8bit\r\n"; 
        $headers .= "".$message."\n"; 
         $headers .= "--".$num."\n"; 

       // Attachment headers 
       $to="[email protected],[email protected]"; 
         $headers .= "Content-Type:".$file1_type." "; 
        $headers .= "name=\"".$file1_name."\"r\n"; 
            $headers .= "Content-Transfer-Encoding: base64\r\n"; 
          $headers .= "Content-Disposition: attachment; "; 
         $headers .= "filename=\"".$file1_name."\"\r\n\n"; 
         $headers .= "".$file."\r\n"; 
         $headers .= "--".$num."--"; 
          mail($to,$subject,$msg,$headers); 

HTML 스크립트

   <form name="candidate" method="post" enctype="multipart/form-data" action="thanks.php"><table width="466" height="132" border="0" cellpadding="3" cellspacing="2"> 
         <tr> 
          <th colspan="3" align="left" valign="middle" class="spa" scope="col"><p align="left" class="style29"><a name="apply" id="apply"></a>CANDIDATES REGISTRATION</p></th> 
          <th width="43%" align="left" valign="middle" class="spa style30" scope="col"> * <span class="style28">= Required </span></th> 
         </tr> 
         <tr> 
          <td width="34%" align="left" valign="middle" class="style1"><p>Full Name <span class="style30">* </span></p></td> 
          <td width="4%" align="left" valign="middle" class="style1">:</td> 
          <td colspan="2" align="left" valign="middle" class="style1"><input name="s_name" type="text" id="your full name" size="35" maxlength="50" /></td> 
         </tr> 
         <tr> 
          <td align="left" valign="middle" class="style1"><p>Date of Birth <span class="style30">*</span> </p></td> 
          <td align="left" valign="middle" class="style1">:</td> 
          <td colspan="2" align="left" valign="middle" class="style1"><input name="s_dob" type="text" id="your full name9" size="35" maxlength="50" /></td> 
         </tr> 
         <tr> 
          <td align="left" valign="middle" class="style1"><p>Gender <span class="style30">* </span></p></td> 
          <td align="left" valign="middle" class="style1"> :</td> 
          <td colspan="2" align="left" valign="middle" class="style1"><input name="s_gender" type="text" id="your full name10" size="35" maxlength="50" /></td> 
         </tr> 
         <tr> 
          <td align="left" valign="middle" class="style1"><p>Qualification<span class="style30"> *</span> </p></td> 
          <td align="left" valign="middle" class="style1">:</td> 
          <td colspan="2" align="left" valign="middle" class="style1"><input name="s_quli" type="text" id="your full name11" size="35" maxlength="50" /></td> 
         </tr> 
         <tr> 
          <td height="18" align="left" valign="middle" class="style1"><p>Exp. (No of years)</p></td> 
          <td align="left" valign="middle" class="style1">:</td> 
          <td colspan="2" align="left" valign="middle" class="style1"><input name="s_exp" type="text" id="your full name12" size="35" maxlength="50" /></td> 
         </tr> 
         <tr> 
          <td height="18" align="left" valign="middle" class="style1"><p>Current CTC</p></td> 
          <td align="left" valign="middle" class="style1">:</td> 
          <td colspan="2" align="left" valign="middle" class="style1"><input name="ctc" type="text" id="your full name13" size="35" maxlength="50" /></td> 
         </tr> 
         <tr> 
          <td height="18" align="left" valign="middle" class="style1"><p>Address Line 1<span class="style30">*</span></p></td> 
          <td align="left" valign="middle" class="style1">:</td> 
          <td colspan="2" align="left" valign="middle" class="style1"><input name="addr1" type="text" id="your full name15" size="35" maxlength="50" /></td> 
         </tr> 
         <tr> 
          <td height="18" align="left" valign="middle" class="style1"><p>Address Line 2</p></td> 
          <td align="left" valign="middle" class="style1">:</td> 
          <td colspan="2" align="left" valign="middle" class="style1"><input name="addr2" type="text" id="your full name16" size="35" maxlength="50" /></td> 
         </tr> 
         <tr> 
          <td height="18" align="left" valign="middle" class="style1"><p>City <span class="style30">*</span> </p></td> 
          <td align="left" valign="middle" class="style1">:</td> 
          <td colspan="2" align="left" valign="middle" class="style1"><input name="s_city" type="text" id="your full name17" size="35" maxlength="50" /></td> 
         </tr> 
         <tr> 
          <td height="18" align="left" valign="middle" class="style1"><p>State<span class="style30"> * </span></p></td> 
          <td align="left" valign="middle" class="style1">:</td> 
          <td colspan="2" align="left" valign="middle" class="style1"><input name="s_state" type="text" id="your full name18" size="35" maxlength="50" /></td> 
         </tr> 
         <tr> 
          <td height="18" align="left" valign="middle" class="style1"><p>Country <span class="style30">*</span> </p></td> 
          <td align="left" valign="middle" class="style1">:</td> 
          <td colspan="2" align="left" valign="middle" class="style1"><input name="s_country" type="text" id="your full name19" size="35" maxlength="50" /></td> 
         </tr> 
         <tr> 
          <td height="18" align="left" valign="middle" class="style1"><p>Phone</p></td> 
          <td align="left" valign="middle" class="style1">:</td> 
          <td colspan="2" align="left" valign="middle" class="style1"><input name="s_phone" type="text" id="your full name20" size="35" maxlength="50" /></td> 
         </tr> 
         <tr> 
          <td height="18" align="left" valign="middle" class="style1"><p>Mobile<span class="style30"> *</span> </p></td> 
          <td align="left" valign="middle" class="style1">:</td> 
          <td colspan="2" align="left" valign="middle" class="style1"><input name="s_mobile" type="text" id="your full name21" size="35" maxlength="12" /></td> 
         </tr> 
         <tr> 
          <td height="18" align="left" valign="middle" class="style1"><p>Paste Your Resume</p></td> 
          <td align="left" valign="middle" class="style1">:</td> 
          <td colspan="2" align="left" valign="middle" class="style1"><textarea name="s_resume" cols="27" rows="6" id="s_resume"></textarea></td> 
         </tr> 
         <tr> 
          <td height="18" align="left" valign="middle" class="style1"><p>Attach Your Resume <span class="style30">*</span> </p></td> 
          <td align="left" valign="middle" class="style1">:</td> 
          <td colspan="2" align="left" valign="middle" class="style1"> 
           <label> 
           <input type="file" name="file1" id="file1" /> 
           </label>        </td> 
         </tr> 
         <tr> 
          <td height="18" align="left" valign="middle" class="style1">&nbsp;</td> 
          <td align="left" valign="middle" class="style1">&nbsp;</td> 
          <td colspan="2" align="left" valign="middle" class="style1"> 
           <label> 
           <input type="submit" name="candidates" id="candidates" value="Submit" onclick="return validation();"/> 
           </label>        </td> 
         </tr> 
        </table> 
        </form> 

하지만 오류 준다 : 경고 : FREAD() : \ 프로그램 파일 \ XAMPP \ htdocs를 \ aim4job \ : 공급 인수가 C에 유효한 스트림 자원되지 않습니다 감사합니다 .php on line 62

답변

0

당신은 $fp = fopen($file1, "r");이라고 적었습니다. $ file1이 설정되지 않았습니다.

임시 파일을 tmp 폴더에서 자신의 tmp 폴더로 옮기는 방법은 어떨까요? 그 그래도 그냥 미친처럼 당신이 MIME 메일을 구축

$fp = fopen($file1, "r") 

$fp = fopen($filetemp, "r"); 

변경할 수 http://php.net/manual/en/function.move-uploaded-file.php

move_uploaded_file($filename, 'tmp/'.basename($filename)); 

// attach and send mail 

unlink('tmp/'.basename($filename)); 
1

이 하나의 오류를 해결하려면 참조하십시오. 거기에 더 많은 버그를 발견 할 것입니다. PHPMailer 또는 Zend_Mail과 같은 기존 라이브러리를 사용하십시오.

+0

+1 : 기존 라이브러리를 사용하십시오. 정말. – Max

관련 문제