Mimetype detection for hidden files
Signed-off-by: Magnus Walbeck <mw@mwalbeck.org>
This commit is contained in:
parent
5d486478d3
commit
eadc1ac637
|
@ -167,6 +167,12 @@ class Detection implements IMimeTypeDetector {
|
|||
$this->loadMappings();
|
||||
|
||||
$fileName = basename($path);
|
||||
|
||||
// remove leading dot on hidden files with a file extension
|
||||
if (strpos($fileName, '.') === 0 && strpos($fileName, '.', 1)) {
|
||||
$fileName = substr($fileName, 1);
|
||||
}
|
||||
|
||||
// note: leading dot doesn't qualify as extension
|
||||
if (strpos($fileName, '.') > 0) {
|
||||
//try to guess the type by the file extension
|
||||
|
|
|
@ -74,9 +74,13 @@ class DetectionTest extends \Test\TestCase {
|
|||
$this->assertEquals('text/plain', $this->detection->detectPath('foo.txt'));
|
||||
$this->assertEquals('image/png', $this->detection->detectPath('foo.png'));
|
||||
$this->assertEquals('image/png', $this->detection->detectPath('foo.bar.png'));
|
||||
$this->assertEquals('image/png', $this->detection->detectPath('.hidden.png'));
|
||||
$this->assertEquals('image/png', $this->detection->detectPath('.hidden.foo.png'));
|
||||
$this->assertEquals('image/png', $this->detection->detectPath('.hidden/foo.png'));
|
||||
$this->assertEquals('image/png', $this->detection->detectPath('.hidden/.hidden.png'));
|
||||
$this->assertEquals('image/png', $this->detection->detectPath('test.jpg/foo.png'));
|
||||
$this->assertEquals('application/octet-stream', $this->detection->detectPath('.png'));
|
||||
$this->assertEquals('application/octet-stream', $this->detection->detectPath('..hidden'));
|
||||
$this->assertEquals('application/octet-stream', $this->detection->detectPath('foo'));
|
||||
$this->assertEquals('application/octet-stream', $this->detection->detectPath(''));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue