UploadedFileHelper   A
last analyzed

Complexity

Total Complexity 9

Size/Duplication

Total Lines 76
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
wmc 9
lcom 0
cbo 2
dl 0
loc 76
rs 10
c 0
b 0
f 0

6 Methods

Rating   Name   Duplication   Size   Complexity  
A isValidUploadFile() 0 8 3
A hasValidMimeType() 0 4 2
A getFilenameWithoutExtension() 0 4 1
A getFilenameWithExtension() 0 4 1
A getFilenameExtension() 0 4 1
A getDirname() 0 4 1
1
<?php
2
3
namespace Padosoft\Laravel\Request;
4
5
use Illuminate\Http\UploadedFile;
6
use Padosoft\Io\FileHelper;
7
8
/**
9
 * UploadedFile Helper Class
10
 * @package Padosoft\Laravel\Request
11
 */
12
class UploadedFileHelper
13
{
14
    /**
15
     * Check if uploaded File is valid and
16
     * has a valid Mime Type (only if $arrMimeType is not empty array).
17
     * Return true is all ok, otherwise return false.
18
     * @param UploadedFile $uploadedFile
19
     * @param array $arrMimeType
20
     * @return bool
21
     */
22
    public static function isValidUploadFile(UploadedFile $uploadedFile, array $arrMimeType = array()) : bool
23
    {
24
        if (empty($uploadedFile) || !$uploadedFile->isValid()) {
25
            return false;
26
        }
27
28
        return self::hasValidMimeType($uploadedFile, $arrMimeType);
29
    }
30
31
    /**
32
     * Check if uploaded File has a correct MimeType if specified.
33
     * If $arrMimeType is empty array return true.
34
     * @param UploadedFile $uploadedFile
35
     * @param array $arrMimeType
36
     * @return bool
37
     */
38
    public static function hasValidMimeType(UploadedFile $uploadedFile, array $arrMimeType) : bool
39
    {
40
        return count($arrMimeType) > 0 ? in_array($uploadedFile->getMimeType(), $arrMimeType) : true;
41
    }
42
43
    /**
44
     * Return the file name of uploaded file (without path and witout extension).
45
     * Ex.: /public/upload/pippo.txt ritorna 'pippo'
46
     * @param UploadedFile $uploadedFile
47
     * @return string
48
     */
49
    public static function getFilenameWithoutExtension(UploadedFile $uploadedFile)
50
    {
51
        return FileHelper::getFilenameWithoutExtension($uploadedFile->getClientOriginalName());
52
    }
53
54
    /**
55
     * Return the file name with extension of uploaded file (without path).
56
     * Ex.: /public/upload/pippo.txt ritorna 'pippo.txt'
57
     * @param UploadedFile $uploadedFile
58
     * @return string
59
     */
60
    public static function getFilenameWithExtension(UploadedFile $uploadedFile)
61
    {
62
        return FileHelper::getFilename($uploadedFile->getClientOriginalName());
63
    }
64
65
    /**
66
     * Return the only file extension (without dot).
67
     * Ex.: /public/upload/pippo.txt ritorna 'txt'
68
     * @param UploadedFile $uploadedFile
69
     * @return string
70
     */
71
    public static function getFilenameExtension(UploadedFile $uploadedFile)
72
    {
73
        return FileHelper::getFilenameExtension($uploadedFile->getClientOriginalName());
74
    }
75
76
    /**
77
     * Return the dir name of uploaded file (without file name and witout extension).
78
     * Ex.: /public/upload/pippo.txt ritorna '/public/upload'
79
     * @param UploadedFile $uploadedFile
80
     * @return string
81
     */
82
    public static function getDirname(UploadedFile $uploadedFile)
83
    {
84
        return FileHelper::getDirname($uploadedFile->getPathname());
85
    }
86
87
}
88