/** * Constructs a new file view * @param zibo\library\filesystem\File $file File to render * @return null */ public function __construct(File $file) { $response = Zibo::getInstance()->getResponse(); if (!$file->exists() || $file->isDirectory()) { $response->setStatusCode(Response::STATUS_CODE_NOT_FOUND); return; } $maxAge = 60 * 60; $mime = Mime::getMimeType($file); $lastModified = gmdate('r', $file->getModificationTime()); $expires = gmdate('r', time() + $maxAge); $response->setHeader('Pragma', 'public'); $response->setHeader('Cache-Control', 'max-age=' . $maxAge); $response->setHeader('Expires', $expires); $response->setHeader('Last-Modified', $lastModified); $response->setHeader('ETag', md5($lastModified)); $response->setHeader('Content-Type', $mime); $response->setHeader('Content-Length', $file->getSize()); $this->file = $file; }
/** * Adds a file attachment to this message * @param zibo\library\filesystem\File $attachment The file forthe attachment * @return string The name of the attachment MIME part */ public function addAttachment(File $attachment) { $mime = Mime::getMimeType($attachment); $content = $attachment->read(); $content = chunk_split(base64_encode($content)); $part = new MimePart($content, $mime); $part->setEncoding(MimePart::ENCODING_BASE64); return $this->addPart($part, $attachment->getName()); }
/** * @dataProvider providerGetMimeType */ public function testGetMimeType($expected, File $file) { $result = Mime::getMimeType($file); $this->assertEquals($expected, $result); }