2012-06-22 85 views
14

Vì vậy:PHPMailer tập tin đính kèm, làm việc đó mà không có một tập tin vật lý

// Setup mail class, recipients and body 
$mailer->AddAttachment('/home/mywebsite/public_html/file.zip', 'file.zip'); 
The AddAttachment function has four arguments: 

AddAttachment(PATH_TO_FILE, FILENAME, ENCODING, HEADER_TYPE) 

tôi sử dụng để sử dụng xmail() và khi tôi thêm một tập tin đính kèm ở đây, tôi đã thông qua tên tập tin và nội dung, mà phải ở trong nó.

Như thế này:

$xmail->addAttachment('myamazingfile.pdf', $content); 

Làm thế nào tôi có thể làm cho nó hoạt động theo cùng một cách, vì vậy khi tôi gọi AddAttachment() từ lớp PHPMailer, tôi có thể vượt qua cùng một hoặc một cái gì đó giống như nó, vì vậy tôi không cần phải có một tập tin thực tế trên máy chủ của tôi để gửi?

Trả lời

29
AddStringAttachment($string,$filename,$encoding,$type) 

ví dụ

$mail = new PHPMailer(); 
$mail->AddStringAttachment($string,$filename,$encoding,$type); 

http://phpmailer.worxware.com/index.php?pg=tutorial#3

+1

Rất đẹp. Cảm ơn bạn đã trả lời – Karem

+0

Đối với bất kỳ ai cố gắng điều này, mã hóa có thể sẽ là "base64" và loại $ là một chuỗi loại MIME. – daviddukeuk

+0

liên kết bị hỏng tại thời điểm này –

1

vì đó chức năng AddAttachment() được mong đợi một con đường chứ không phải là dữ liệu byte, bạn nên làm một php chuyển đổi sang chức năng tập tin tạm thời và sau đó vượt qua rằng chuỗi đường dẫn vào chức năng của bạn

$prefix  = 'ConvertMediaArgs_'.time().'_'; 
$tempfile = tempnam($this->tempdir, $prefix); 

// Args file create failure: kill script with TEMPFILEFAIL error 
if($tempfile === false) { 
    die('file could not be created'); 
} 

// Write args as Key=Val (\n) to file 
$fullpath = $this->tempdir.$tempfile; 
$content = $someContent // <---------------- this is your file's data 
$handle  = fopen($tempfile, "w"); 
fwrite($handle, $content); 

// $fullpath is the path you wanna pass to your function 
$xmail->addAttachment($fullpath, $content); 
+0

Cám ơn nỗ lực của bạn 1 – Karem

+0

@karem no problem – Kristian

Các vấn đề liên quan