2010-12-20 5 views
0

저는 메일 개념을하고 있습니다. 이것에서 나는 전자 우편을 가진 동적 인 부착을 보내고 싶다. 실제로 사용자는 첨부 파일이있는 이메일을받습니다. 이 첨부 파일은 동적입니다. email.i에 대한 동적 첨부 파일을 만드는 방법은 이것을 시도했습니다. 그러나 아무 사용. 아무도 도와 줘.PHP를 사용하여 동적 첨부 파일을 만듭니다.

는 나는이 $mail->AddAttachment("$myfile");

그러나이 같은 메일

$myfile = "attachments.txt"; 
$fh = fopen($myfile, 'w') or die("can't open file"); 
$stringData = str_replace("<<name>>", $fetuser[firstname], $fh); 
//echo $fetuser[firstname];exit; 
fwrite($fh, $stringData); 
$stringData = str_replace("<<designid>>",$_SESSION[designid], $fh); 
fwrite($fh, $stringData); 
$stringData = str_replace("<<designname>>", $fetch_designname[designtype], $fh); 
fwrite($fh, $stringData); 
$stringData = str_replace("<<orderno>>", $ordno, $fh); 
fwrite($fh, $stringData); 
fclose($fh); 

마지막으로 내가 추가 된 첨부 파일로이 파일을 업데이트 한

User Name: <<name>> 
Designid:<<designid>> 
Designname:<<designname>> 
Orderid:<<orderid>> 

내용 attachments.txt'file '이 제대로 작동하지 않습니다. 아무도 도와 줘.

답변

3

나는 파일 처리기를 str_replace처럼 전달할 수 있다고 생각하지 않습니다. 내용을 먼저 읽고 자리 표시자를 바꾼 다음 파일을 다시 씁니다. 또한 템플릿을 포함하는 동일한 파일에이 파일을 쓰면 두 번째로 전자 메일을 보내려는 템플리트가 아니지만 그 내용을 생각한 것 같습니다.

EDIT : 왜 다시 파일을 디스크에 기록 귀찮게

$text = file_get_contents($templateFile); 

// perhaps some error handling here 

$text = str_replace(array('<<name>>', '<<designid>>', '<<designname>>', '<<orderid>>'), 
        array($fetuser[firstname], $_SESSION[designid], $fetch_designname[designtype], $ordno), 
        $text); 

file_put_contents($attachmentFile, $text); 
+0

답장을 보내 주셔서 감사합니다. 나는 이것을 시도 할 것이다. –

+0

예. 당신 말이 맞아요. 더 이상 템플릿이 아닙니다. 하지만 나는 그것이 템플릿처럼 될 싶습니다. 어떻게? –

+0

글쎄, 단지 하나의 파일을 템플릿으로 사용하고 그것으로부터 읽기만하고 다른 파일을 첨부 파일로 사용하십시오. 또한 @symcbean이 제안하는 것처럼 첨부 파일을 먼저 디스크에 쓰지 않고 첨부 파일을 추가하는 것이 더 좋을 수도 있습니다. 당신은 그것을하는 방법을 찾아야 할 것입니다. 어쨌든, 여기서 핵심은 템플릿 파일에 쓰지 않는 것입니다. –

1

:

그래서, 당신은이 같은가 someting을 할 수 있습니까? 그건 꼭 필요 하진 않아.

$ mail-> AddAttachment ("$ myfile");

$ mail이 (가) 인스턴스화 된 것의 실마리를 제공해 줄 수 있습니까?

하지만이 제대로 의미가 문을의

을 작동하지 않습니다. 오류 메시지 또는 예상 결과와 다른 결과에 대한 세부 정보를 제공하십시오.

관련 문제