Mime-type checkBefore to upload a file, your component checks the coherency of the header of a file. It should match with its own known mime-types / extensions pairs. Mime detectionThere are severals possibles ways to detect mime in php. Your component is trying the one it found possible, but it depends of your server configuration. switch($method)
{
case 'system':
if (!function_exists('system'))
continue;
$mime = system("file -i -b " . $file);
break;
case 'shell_exec':
if (!function_exists('shell_exec'))
continue;
$mime = trim( @shell_exec( 'file -bi ' . escapeshellarg( $file ) ) );
break;
case 'mime_content_type':
if (!function_exists('mime_content_type'))
continue;
$mime = mime_content_type($file);
break;
case 'finfo_file':
if (!function_exists('finfo_file'))
continue;
$finfo = finfo_open(FILEINFO_MIME);
$mime = finfo_file($finfo, $file);
finfo_close($finfo);
break;
case 'image_check':
$file_info = getimagesize($file);
$mime = $file_info['mime'];
break;
}
TroubleshootingSpecific file or extensionIf it fails only with a certain type of files, then the problem do not comes from your component. Always failsIf your component always fails to read a mime header: 1. Check your php modules. 2. Disable Mime detection. |
|
Amazing Tool !
And only tool I know that allows complete Scaffolding in terms of component creation. It really saves loads of time (actually much more than that). Simple architecture enables quick and painless changes at any time. Code is clean and consintent. It's just... what's the word... neat! :) Great work! You should definetely try this one!
