Я пытаюсь загрузить файл, размер которого превышает 2 МБ, даже после установки максимального размера в контроллере, но файл не загружается. Пожалуйста, помогите найти решение этой проблемы.
Ниже мой код:
контроллер
$config['upload_path'] = './abc/';
$config['allowed_types'] = '*';
$config['max_filename'] = '255';
$config['encrypt_name'] = FALSE;
$config['overwrite'] = TRUE;
//$config['max_size'] = '102400'; //100 MB
$config['max_size'] = '25600';
$config['max_width'] = '0';
$config['max_height'] = '0';
$config['file_name']=$newfilename;
Ограничение размера накладывается и вашей конфигурацией PHP; поэтому вам нужно обновить php.ini
и обновить две настройки post_max_size
а также upload_max_filesize
,
php.ini
не найден на codeigniter, скорее установка PHP на вашем сервере. Об этом подробнее здесь: http://php.net/manual/en/configuration.file.php
Допустим, вы хотите разрешить максимальный размер загружаемого файла 256 МБ, это то, что вы должны иметь на php.ini
:
post_max_size=256M
upload_max_filesize=256M
Как только вы внесли изменения в php.ini
Вы должны перезапустить apache или php-fpm — в зависимости от того, что вы используете.
Если вы находитесь в среде общего хостинга, вы не можете получить прямой доступ к php.ini
файл, но ваш хостинг-провайдер может предоставить вам ограниченный доступ для изменения конфигурации php через панель управления хостингом, такую как cPanel или Plesk и т. д.
Если вы разрабатываете локально и говорите, что вы в Windows, например, используете XAMPP; php.ini
Файл обычно находится здесь: C:\xampp\php\php.ini
(зависит от того, где вы установили xampp). В Linux конфигурация php.ini имеет тенденцию быть где-то /etc/php.ini
(не всегда гарантировано).
Вы всегда можете создать файл на вашем сервере с именем phpinfo.php
с помощью этого скрипта: <?php phpinfo(); ?>
и посетить его, например Http: //localhost/phpinfo.php и он покажет вам местоположение загруженного php.ini
файл, а также текущие значения настроек post_max_size
а также upload_max_filesize
,
Вы можете изменить свой файл .htaccess в корневой папке вашего CI-проекта. Это хорошо для общего хостинга, где вы не можете изменить php.ini):
## I need more memory (50M) to upload large image
<IfModule mod_php5.c>
php_value memory_limit 256M
php_value post_max_size 50M
php_value upload_max_filesize 50M
</IfModule>
в Codeigniter вы устанавливаете настройки размера файла в файле config.php: см. документы