Я заметил, что есть похожие вопросы, но я попробовал предлагаемые решения и не смог найти решение.
Вот моя среда разработки:
То, что я пытаюсь сделать, является основным примером загрузки изображения. Вот контроллер:
<?php class Entry extends CI_Controller { function __construct() { parent::__construct(); ini_set('memory_limit', "256M"); } function index() { $this->load->view('upload_form'); } function upload() { $config['upload_path'] = './uploads/'; $config['allowed_types'] = 'gif|png|jpg'; $config['max_size'] = 2048; $config['max_width'] = 1024; $config['max_height'] = 768; $this->load->library('upload', $config); if (! $this->upload()->do_upload('file')) { $error = array('error' => $this->upload->display_errors()); $this->load->view('upload_form', $error); } } } ?>
И мой файл просмотра выглядит так:
<?php echo form_open_multipart('entry/upload'); echo form_upload('file'); echo form_submit('submit', 'Upload Fille'); ?>
В контроллере вы можете увидеть, что я попытался установить ограничение памяти на 256 МБ, я также попробовал вариант -1. Когда я устанавливаю memory_limit на -1, компьютер бегал с ума, он застыл ((:
Вот ошибка, которую я получаю, когда пытаюсь загрузить sth.
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 523800 bytes) in /var/www/giydir/system/core/Common.php on line 358, referer: http://localhost/giydir/entry
Мне кажется интересной строка, которую показывает ошибка.
$_log =& load_class('Log');
В соответствии с вашими отзывами, вы нажимаете ограничение на память в 128M …. ваш встроенный скрипт 256M, похоже, не прилипает. Попробуйте отредактировать свой ini-файл напрямую, чтобы увеличить память?
Извините, это была моя ошибка. Теперь он решен.
Линия
if (! $this->upload()->do_upload('file')) {
должно быть
if (! $this->upload->do_upload('file')) {
Увеличьте объем памяти в файле php.ini
. Это решит вашу проблему.
memory_limit = 12M