public function photoAction() { $this->_helper->viewRenderer->setNoRender(true); $uri = $this->getRequest()->getRequestUri(); $regex = '#^(.+)/photo/(.+).png$#i'; if (preg_match($regex, $uri, $v)) { $de = str_split($this->_params['user']); $file = SYS_ENTRY . '/data/user/' . $de[0] . '/' . $de[1] . '/' . $de[2]; $file .= '/' . $this->_params['user'] . '/' . $v[2] . '.png'; if (!file_exists($file)) { $file = SYS_ENTRY . '/data/user/' . $v[2] . '.png'; if (!file_exists($file)) { die; } } } else { die; } ob_end_clean(); $ims = getimagesize($file); header("Cache-Control: private"); header("Pragma: cache"); header("Expires: " . gmdate("D, d M Y H:i:s", time() + 31536000) . " GMT"); header("Content-type: image/png"); $validator = new Zend_Validate_File_IsImage(); if ($validator->isValid($file, array('type' => 'image/png'))) { header("Content-Disposition: inline; filename=photo"); } else { header('Content-Disposition: attachment; filename=photo'); } header("Content-Length: " . filesize($file)); $fp = fopen($file, "rb"); fpassthru($fp); fclose($fp); die; }
public function testOptionsAtConstructor() { if (!extension_loaded('fileinfo')) { $this->markTestSkipped('This PHP Version has no finfo installed'); } $validator = new Zend_Validate_File_IsImage(array('image/gif', 'image/jpg', 'magicfile' => dirname(__FILE__) . '/_files/magic.mime', 'headerCheck' => true)); $this->assertEquals(dirname(__FILE__) . '/_files/magic.mime', $validator->getMagicFile()); $this->assertTrue($validator->getHeaderCheck()); $this->assertEquals('image/gif,image/jpg', $validator->getMimeType()); }
/** * * @param string $mime_type * @param type $messages_prefixed * @return \Zend_Validate_File_IsImage */ protected function _getValidateIsImage($mime_type = array(), $messages_prefixed = "") { if (empty($mime_type)) { $mime_type = array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/png'); } $image = new Zend_Validate_File_IsImage($mime_type); $image->setMessage(sprintf($this->_translate('ERROR_IMAGE_FALSE_TYPE'), $this->_translate($messages_prefixed)), Zend_Validate_File_IsImage::FALSE_TYPE); return $image; }
public function testOptionsAtConstructor() { $validator = new Zend_Validate_File_IsImage(array('image/gif', 'image/jpg', 'magicfile' => __FILE__, 'headerCheck' => true)); $this->assertEquals(__FILE__, $validator->getMagicFile()); $this->assertTrue($validator->getHeaderCheck()); $this->assertEquals('image/gif,image/jpg', $validator->getMimeType()); }
/** * Ensures that addMimeType() returns expected value * * @return void */ public function testAddMimeType() { $validator = new Zend_Validate_File_IsImage('image/gif'); $validator->addMimeType('text'); $this->assertEquals('image/gif,text', $validator->getMimeType()); $this->assertEquals(array('image/gif', 'text'), $validator->getMimeType(true)); $validator->addMimeType('jpg, to'); $this->assertEquals('image/gif,text,jpg,to', $validator->getMimeType()); $this->assertEquals(array('image/gif', 'text', 'jpg', 'to'), $validator->getMimeType(true)); $validator->addMimeType(array('zip', 'ti')); $this->assertEquals('image/gif,text,jpg,to,zip,ti', $validator->getMimeType()); $this->assertEquals(array('image/gif', 'text', 'jpg', 'to', 'zip', 'ti'), $validator->getMimeType(true)); $validator->addMimeType(''); $this->assertEquals('image/gif,text,jpg,to,zip,ti', $validator->getMimeType()); $this->assertEquals(array('image/gif', 'text', 'jpg', 'to', 'zip', 'ti'), $validator->getMimeType(true)); }