# Haladó tudnivalók

> Nagy fájlok fogadása, további fájltípusok engedélyezése és az ismert hibák megoldása.

Az itt leírt egyéni kód módosítja a kiegészítő működését, ezért a támogatás nem terjed ki rá.

## Nagy fájlok feltöltése

A feltöltés a webszerveren megy át, ezért a tárhely PHP-korlátai, az időtúllépések és a látogató internetsebessége is számítanak. Elég magas korlátok és stabil kapcsolat mellett nem lesz gond. Nagy fájlokhoz ajánlott értékek:

```ini
upload_max_filesize = 512M
post_max_size = 512M
max_execution_time = 300
memory_limit = 512M
```

## Nem engedélyezett fájltípusok

Biztonsági okból csak olyan fájl tölthető fel, amelyet a WordPress is megenged. A listát a `ninja_forms_upload_mime_types_whitelist` szűrővel bővítheted. Add hozzá a `functions.php` fájlhoz:

```php
add_filter( 'ninja_forms_upload_mime_types_whitelist', 'my_ninja_forms_upload_mime_types_whitelist' );
function my_ninja_forms_upload_mime_types_whitelist( $types ) {
	// A kiterjesztéseket így add meg: $types['kiterjesztes'] = 'mime típus';
	$types['abc'] = 'application/octet-stream';
	$types['xyz'] = 'application/octet-stream';
	return $types;
}
```

Hogy a MIME-típus ellenőrzés ne akadályozza, ezt is add hozzá:

```php
add_filter( 'ninja_forms_upload_check_mime_types_whitelist', '__return_false' );
```

Az új kiterjesztést az **Engedélyezett fájltípusok** mezőben is meg kell adnod, ha használod a korlátozást.

## Ismert hibák

### Többbájtos karakterek (mbstring)

Ha a tárhelyen nincs telepítve a PHP mbstring kiterjesztése, ilyen hiba jelenhet meg:

```text
Fatal error: Uncaught Error: Call to undefined function NF_FU_VENDOR\mb_check_encoding()
```

Lehet, hogy más, `mb_` kezdetű PHP-függvény neve szerepel benne. A Google, az Amazon és a Dropbox kapcsolatához használt függvénykönyvtárak, valamint maga a WordPress is tartalmaz tartalék megoldást az mbstring hiányára, és ez a kettő ütközik. Kérd meg a tárhelyszolgáltatót, hogy kapcsolja be a PHP mbstring kiterjesztését: ezzel a hiba megszűnik.
