00001 <?php 00025 require_once 'Zend/Validate/File/MimeType.php'; 00026 00035 class Zend_Validate_File_IsImage extends Zend_Validate_File_MimeType 00036 { 00040 const FALSE_TYPE = 'fileIsImageFalseType'; 00041 const NOT_DETECTED = 'fileIsImageNotDetected'; 00042 const NOT_READABLE = 'fileIsImageNotReadable'; 00043 00047 protected $_messageTemplates = array( 00048 self::FALSE_TYPE => "The file '%value%' is no image, '%type%' detected", 00049 self::NOT_DETECTED => "The mimetype of file '%value%' has not been detected", 00050 self::NOT_READABLE => "The file '%value%' can not be read" 00051 ); 00052 00059 public function __construct($mimetype = array()) 00060 { 00061 if ($mimetype instanceof Zend_Config) { 00062 $mimetype = $mimetype->toArray(); 00063 } else if (empty($mimetype)) { 00064 $mimetype = array( 00065 'image/x-quicktime', 00066 'image/jp2', 00067 'image/x-xpmi', 00068 'image/x-portable-bitmap', 00069 'image/x-portable-greymap', 00070 'image/x-portable-pixmap', 00071 'image/x-niff', 00072 'image/tiff', 00073 'image/png', 00074 'image/x-unknown', 00075 'image/gif', 00076 'image/x-ms-bmp', 00077 'application/dicom', 00078 'image/vnd.adobe.photoshop', 00079 'image/vnd.djvu', 00080 'image/x-cpi', 00081 'image/jpeg', 00082 'image/x-ico', 00083 'image/x-coreldraw', 00084 'image/svg+xml' 00085 ); 00086 } 00087 00088 $this->setMimeType($mimetype); 00089 } 00090 }