public function testSetAndGetMagicFile() { $validator = new Zend_Validate_File_MimeType('image/gif'); if (!empty($_ENV['MAGIC'])) { $mimetype = $validator->getMagicFile(); $this->assertEquals($_ENV['MAGIC'], $mimetype); } try { $validator->setMagicFile('/unknown/magic/file'); } catch (Zend_Validate_Exception $e) { $this->assertContains('can not be', $e->getMessage()); } }
/** * @param $value * @param null $file * @return bool */ public function getMimeType($value, $file = null) { if ($file === null) { $file = array('type' => null, 'name' => $value); } // Is file readable ? //$1 'Zend/Loader.php'; if (!Zend_Loader::isReadable($value)) { return $this->_throw($file, self::NOT_READABLE); } $validate = new Zend_Validate_File_MimeType(''); $mimefile = $validate->getMagicFile(); if (class_exists('finfo', false)) { $const = defined('FILEINFO_MIME_TYPE') ? FILEINFO_MIME_TYPE : FILEINFO_MIME; if (!empty($mimefile) && empty($finfo)) { $finfo = @finfo_open($const, $mimefile); } if (empty($finfo)) { $finfo = @finfo_open($const); } $type = null; if (!empty($finfo)) { $type = finfo_file($finfo, $value); } } if (empty($type) && (function_exists('mime_content_type') && ini_get('mime_magic.magicfile'))) { $type = mime_content_type($value); } if (empty($type) && $this->_headerCheck) { $type = $file['type']; } if (empty($type)) { return $this->_throw($file, self::NOT_DETECTED); } return $type; }