Reputation: 1614
I have set up codeigniter to upload small files < 2MB and that works fine. But I am having trouble uploading large files 20MB >
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
}
}
I am not sure what is wrong with the above code. I overrode the php.ini to accept larger files and to take more time executing the script but it still returns the same error:
You did not select a file to upload.
Again, this works with small files but not large ones.
EDIT: Turns out my server provider has limited file uploads so there is no solution besides to FTP the file in.
Upvotes: 8
Views: 20453
Reputation: 7762
Below code use in your php file.
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);
set below code in .htaccess file
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value max_input_time 3600
php_value max_execution_time 3600
Edit my answer after you comment
Update answer
Set config parameter in your stage1 function.
$config['max_size'] = '1000000';
$config['max_width'] = '1024000';
$config['max_height'] = '768000';
After then try it.
Upvotes: 14
Reputation: 3713
I'm not sure your server accept the ini "upload_max_filesize" property to be modified wit hphp script. By default it can't according to the documentation 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 means that it must be writen in your ini file directly. If you have no controle over php.ini, you will not be able to override this property.
Upvotes: 1