1<?php 2 3/* 4 * This file is part of SwiftMailer. 5 * (c) 2004-2009 Chris Corbyn 6 * 7 * For the full copyright and license information, please view the LICENSE 8 * file that was distributed with this source code. 9 */ 10 11/** 12 * Attachment class for attaching files to a {@link Swift_Mime_SimpleMessage}. 13 * 14 * @author Chris Corbyn 15 */ 16class Swift_Attachment extends Swift_Mime_Attachment 17{ 18 /** 19 * Create a new Attachment. 20 * 21 * Details may be optionally provided to the constructor. 22 * 23 * @param string|Swift_OutputByteStream $data 24 * @param string $filename 25 * @param string $contentType 26 */ 27 public function __construct($data = null, $filename = null, $contentType = null) 28 { 29 \call_user_func_array( 30 [$this, 'Swift_Mime_Attachment::__construct'], 31 Swift_DependencyContainer::getInstance() 32 ->createDependenciesFor('mime.attachment') 33 ); 34 35 $this->setBody($data, $contentType); 36 $this->setFilename($filename); 37 } 38 39 /** 40 * Create a new Attachment from a filesystem path. 41 * 42 * @param string $path 43 * @param string $contentType optional 44 * 45 * @return self 46 */ 47 public static function fromPath($path, $contentType = null) 48 { 49 return (new self())->setFile( 50 new Swift_ByteStream_FileByteStream($path), 51 $contentType 52 ); 53 } 54} 55