Я установил codeigniter для загрузки небольших файлов <2MB, и это работает нормально. Но у меня возникли проблемы с загрузкой больших файлов 20 МБ>
function stage1() { ini_set('upload_max_filesize', '200M'); ini_set('post_max_size', '200M'); ini_set('max_input_time', 3000); ini_set('max_execution_time', 3000); $config['upload_path'] = './temp/'; $config['allowed_types'] = 'zip'; $this->load->library('upload', $config); $this->upload->initialize($config); if(!$this->upload->do_upload('userfile')) { $error = array('error' => $this->upload->display_errors()); $this->load->view('upload_form', $error); } else { $data = array('upload_data' => $this->upload->data()); //do stuff } }
Я не уверен, что не так с вышеуказанным кодом. Я перепробовал php.ini, чтобы принимать большие файлы и занимать больше времени на выполнение скрипта, но он все равно возвращает ту же ошибку:
You did not select a file to upload.
Опять же, это работает с небольшими файлами, но не с большими.
EDIT: Оказывается, у моего провайдера сервера есть ограниченные загрузки файлов, поэтому нет никакого решения помимо FTP-файла.
Ниже код используется в вашем php-файле.
ini_set( 'memory_limit', '200M' ); ini_set('upload_max_filesize', '200M'); ini_set('post_max_size', '200M'); ini_set('max_input_time', 3600); ini_set('max_execution_time', 3600);
установить код ниже в файле .htaccess
php_value upload_max_filesize 128M php_value post_max_size 128M php_value max_input_time 3600 php_value max_execution_time 3600
Измените мой ответ после того, как вы
Обновить ответ
Задайте параметр конфигурации в вашей функции stage1.
$config['max_size'] = '1000000'; $config['max_width'] = '1024000'; $config['max_height'] = '768000';
После этого попробуйте.
Я не уверен, что ваш сервер принимает свойство ini «upload_max_filesize» для изменения скрипта wit hphp. По умолчанию он не может соответствовать документации http://php.net/manual/fr/ini.core.php .
upload_max_filesize | «2M» | PHP_INI_PERDIR | PHP_INI_ALL pour PHP <= 4.2.3.
PHP_INI_PERDIR означает, что он должен быть записан в ваш ini-файл напрямую. Если у вас нет контроля над php.ini, вы не сможете переопределить это свойство.