protected static function _checkAndCopyFile(\Mmi\Http\RequestFile $file, $allowedTypes = [])
    {
        //pomijanie plików typu bmp (bitmapy windows - nieobsługiwane w PHP)
        if ($file->type == 'image/x-ms-bmp' || $file->type == 'image/tiff') {
            $file->type = 'application/octet-stream';
        }

        //plik nie jest dozwolony
        if (!empty($allowedTypes) && !in_array($file->type, $allowedTypes)) {
            return null;
        }
        //pozycja ostatniej kropki w nazwie - rozszerzenie pliku
        $pointPosition = strrpos($file->name, '.');
        //kalkulacja nazwy systemowej
        $name = md5(microtime(true) . $file->tmpName) . (($pointPosition !== false) ? substr($file->name, $pointPosition) : '');
        //określanie ścieżki
        $dir = BASE_PATH . '/var/data/' . $name[0] . '/' . $name[1] . '/' . $name[2] . '/' . $name[3];
        //tworzenie ścieżki
        if (!file_exists($dir)) {
            mkdir($dir, 0777, true);
        }
        //zmiana uprawnień
        chmod($file->tmpName, 0664);
        //kopiowanie pliku
        copy($file->tmpName, $dir . '/' . $name);
        return $name;
    }
protected static function _checkAndCopyFile(\Mmi\Http\RequestFile $file, $allowedTypes = [])
    {
        //pomijanie plików typu bmp (bitmapy windows - nieobsługiwane w PHP)
        if ($file->type == 'image/x-ms-bmp' || $file->type == 'image/tiff') {
            $file->type = 'application/octet-stream';
        }

        //plik nie jest dozwolony
        if (!empty($allowedTypes) && !in_array($file->type, $allowedTypes)) {
            return null;
        }
        //pozycja ostatniej kropki w nazwie - rozszerzenie pliku
        $pointPosition = strrpos($file->name, '.');
        //kalkulacja nazwy systemowej
        $name = md5(microtime(true) . $file->tmpName) . (($pointPosition !== false) ? substr($file->name, $pointPosition) : '');
        //określanie ścieżki
        $dir = BASE_PATH . '/var/data/' . $name[0] . '/' . $name[1] . '/' . $name[2] . '/' . $name[3];
        //tworzenie ścieżki
        if (!file_exists($dir)) {
            mkdir($dir, 0777, true);
        }
        //zmiana uprawnień
        chmod($file->tmpName, 0664);
        //kopiowanie pliku
        copy($file->tmpName, $dir . '/' . $name);
        return $name;
    }
protected static function _checkAndCopyFile ( \ Mmi \ Http \ RequestFile $ file , $ allowedTypes = [ ] ) { //pomijanie plików typu bmp (bitmapy windows - nieobsługiwane w PHP) if ( $ file -> type == 'image/x-ms-bmp' || $ file -> type == 'image/tiff' ) { $ file -> type = 'application/octet-stream' ; } //plik nie jest dozwolony if ( ! empty ( $ allowedTypes ) && ! in_array ( $ file -> type , $ allowedTypes ) ) { return null ; } //pozycja ostatniej kropki w nazwie - rozszerzenie pliku $ pointPosition = strrpos ( $ file -> name , '.' ) ; //kalkulacja nazwy systemowej $ name = md5 ( microtime ( true ) . $ file -> tmpName ) . ( ( $ pointPosition !== false ) ? substr ( $ file -> name , $ pointPosition ) : '' ) ; //określanie ścieżki $ dir = BASE_PATH . '/var/data/' . $ name [ 0 ] . '/' . $ name [ 1 ] . '/' . $ name [ 2 ] . '/' . $ name [ 3 ] ; //tworzenie ścieżki if ( ! file_exists ( $ dir ) ) { mkdir ( $ dir , 0777 , true ) ; } //zmiana uprawnień chmod ( $ file -> tmpName , 0664 ) ; //kopiowanie pliku copy ( $ file -> tmpName , $ dir . '/' . $ name ) ; return $ name ; }
Sprawdza parametry i kopiuje plik do odpowiedniego katalogu na dysku
@param \Mmi\Http\RequestFile $file obiekt pliku
@param array $allowedTypes dozwolone typy plików
@return string|null zwraca nazwę utworzonego pliku na dysku
Sprawdza parametry i kopiuje plik do odpowiedniego katalogu na dysku