示例#1
0
 /**
  * HasSuffix validator: has file specified suffix?
  * @param  FileUpload
  * @param  string  suffix(es) separated by comma [comma and space]
  * @return bool
  */
 public static function validateHasSuffix(FileUpload $control, $allowedSuffixes)
 {
     $file = $control->getValue();
     if ($file instanceof HttpUploadedFile) {
         $allowedSuffixes = preg_split('/,\\s*/', $allowedSuffixes);
         foreach ($allowedSuffixes as $v) {
             if (preg_match("/.*\\.{$v}\$/i", $file->name)) {
                 return TRUE;
             }
         }
     }
     return FALSE;
 }
示例#2
0
 /**
  * MimeType validator: has file specified mime type?
  * @param  FileUpload
  * @param  array|string  mime type
  * @return bool
  */
 public static function validateMimeType(FileUpload $control, $mimeType)
 {
     $file = $control->getValue();
     if ($file instanceof HttpUploadedFile) {
         $type = $file->getContentType();
         $type = strtolower(preg_replace('#\\s*;.*$#', '', $type));
         if (!$type) {
             return FALSE;
             // cannot verify :-(
         }
         $mimeTypes = is_array($mimeType) ? $mimeType : explode(',', $mimeType);
         if (in_array($type, $mimeTypes, TRUE)) {
             return TRUE;
         }
         if (in_array(preg_replace('#/.*#', '/*', $type), $mimeTypes, TRUE)) {
             return TRUE;
         }
     }
     return FALSE;
 }
 /**
  * Image validator: is file image?
  * @param  FileUpload
  * @return bool
  */
 public static function validateImage(FileUpload $control)
 {
     $file = $control->getValue();
     return $file instanceof HttpUploadedFile && $file->isImage();
 }