Completed
Push — master ( 02dfab...64bf64 )
by Jeff
11:02
created

UploadableTrait::storeFile()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 3
1
<?php
2
3
namespace App\Shop\Tools;
4
5
use Illuminate\Http\UploadedFile;
6
7
trait UploadableTrait
8
{
9
    /**
10
     * Upload a single file in the server
11
     *
12
     * @param UploadedFile $file
13
     * @param null $folder
0 ignored issues
show
Documentation Bug introduced by
Are you sure the doc-type for parameter $folder is correct as it would always require null to be passed?
Loading history...
14
     * @param string $disk
15
     * @param null $filename
0 ignored issues
show
Documentation Bug introduced by
Are you sure the doc-type for parameter $filename is correct as it would always require null to be passed?
Loading history...
16
     * @return false|string
17
     */
18
    public function uploadOne(UploadedFile $file, $folder = null, $disk = 'public', $filename = null)
19
    {
20
        $name = !is_null($filename) ? $filename : str_random(25);
21
22
        return $file->storeAs(
23
            $folder,
24
            $name . "." . $file->getClientOriginalExtension(),
25
            $disk
26
        );
27
    }
28
29
    /**
30
     * @param UploadedFile $file
31
     *
32
     * @param string $folder
33
     * @param string $disk
34
     *
35
     * @return false|string
36
     */
37
    public function storeFile(UploadedFile $file, $folder = 'products', $disk = 'public')
38
    {
39
        return $file->store($folder, ['disk' => $disk]);
40
    }
41
}
42