Example #1
0
 /**
  * Return fileinformation as array
  * @param string $file
  * @return array
  */
 public static function getInfo($file)
 {
     $file = str_replace('\\', '/', $file);
     $info = @pathinfo($file);
     $info['path'] = $file;
     $info['absolute'] = @str_replace('\\', '/', @realpath($file));
     $info['width'] = @getimagesize($file)[0];
     $info['height'] = @getimagesize($file)[1];
     $info['created'] = @filectime($file);
     $info['modified'] = @filemtime($file);
     $info['size'] = @filesize($file);
     $info['type'] = @filetype($file);
     $info['owner'] = @fileowner($file);
     $info['group'] = @filegroup($file);
     $info['perms'] = @decoct(@fileperms($file));
     $info['writable'] = @is_writable($file);
     $info['readable'] = @is_readable($file);
     $info['exists'] = @file_exists($file);
     $info['isfile'] = @is_file($file);
     $info['isdir'] = @is_dir($file);
     $info['islink'] = @is_link($file);
     $info['mimetype'] = NULL;
     $info['encoding'] = NULL;
     if ($info['exists']) {
         if (class_exists('finfo')) {
             $finfo = new \finfo();
             $finfo->set_flags(FILEINFO_MIME_TYPE);
             $info['mimetype'] = $finfo->file($info['path']);
             $finfo->set_flags(FILEINFO_MIME_ENCODING);
             if ($info['mimetype'] != 'application/octet-stream') {
                 $info['encoding'] = $finfo->file($info['path']);
             }
         }
     }
     return (object) $info;
 }
Example #2
0
<?php

/* Prototype  : bool finfo_set_flags(resource finfo, int options)
 * Description: Set libmagic configuration options. 
 * Source code: ext/fileinfo/fileinfo.c
 * Alias to functions: 
 */
$magicFile = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'magic';
$finfo = finfo_open(FILEINFO_MIME, $magicFile);
echo "*** Testing finfo_set_flags() : basic functionality ***\n";
var_dump(finfo_set_flags($finfo, FILEINFO_NONE));
var_dump(finfo_set_flags($finfo, FILEINFO_SYMLINK));
var_dump(finfo_set_flags());
finfo_close($finfo);
// OO way
$finfo = new finfo(FILEINFO_NONE, $magicFile);
var_dump($finfo->set_flags(FILEINFO_MIME));
var_dump($finfo->set_flags());
?>
===DONE===