summaryrefslogtreecommitdiff
path: root/static/php/classes/UploadException.class.php
blob: a70314f00a2f0f6632d522d180485ec3900a050d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php

/**
 * Returns a human readable error description for file upload errors.
 *
 * @author Dan Brown <danbrown@php.net>
 * @author Michiel Thalen
 * @copyright Copyright © 1997 - 2016 by the PHP Documentation Group
 * @license
 * UploadException is licensed under a Creative Commons Attribution 3.0 License
 * or later.
 *
 * Based on a work at
 * https://secure.php.net/manual/en/features.file-upload.errors.php#89374.
 *
 * You should have received a copy of the Creative Commons Attribution 3.0
 * License with this program. If not, see
 * <https://creativecommons.org/licenses/by/3.0/>.
 */


class UploadException extends Exception
{
    public function __construct($code)
    {
        $message = $this->codeToMessage($code);
        parent::__construct($message, 500);
    }

    private function codeToMessage($code)
    {
        switch ($code) {
            case UPLOAD_ERR_INI_SIZE:
                $message = 'Przesłany plik przekracza rozmiar dozwolony przez dyrektywę upload_max_filesize w pliku php.ini';
                break;
            case UPLOAD_ERR_FORM_SIZE:
                $message = 'Przesłany plik przekracza rozmiar dozwolony przez dyrektywę MAX_FILE_SIZE '.
                           'podaną w formularzu HTML';
                break;
            case UPLOAD_ERR_PARTIAL:
                $message = 'Plik został przesłany jedynie częściowo';
                break;
            case UPLOAD_ERR_NO_FILE:
                $message = 'Nie przesłano żadnego pliku';
                break;
            case UPLOAD_ERR_NO_TMP_DIR:
                $message = 'Brak katalogu tymczasowego';
                break;
            case UPLOAD_ERR_CANT_WRITE:
                $message = 'Nie udało się zapisać pliku na dysku';
                break;
            case UPLOAD_ERR_EXTENSION:
                $message = 'Niedozwolony format pliku';
                break;

            default:
                $message = 'Nieznany błąd przesyłania';
                break;
        }

        return $message;
    }
}