Wonder why this does not work?
ini_set('upload_max_filesize', "16M");
ini_set('post_max_size', "16M");
These values cannot be changed during runtime, PHP must know max size before a HTTP request is recieved.
In the PHP documentation these values are marked as PHP_INI_PERDIR:
Entry can be set in php.ini, .htaccess, httpd.conf or .user.ini (since PHP 5.3)
.htaccess
php_value upload_max_filesize 16M
php_value post_max_size 16M
php.ini
post_max_size = 16M
upload_max_filesize = 16M
Also make sure your memory_limit is high enough.