1and1 servers run as CGI which allows you to override php.ini values.
There are also PHP extensions who control the security.
CGI is slower but allows the host to configure each website seperate and run PHP as the user instead of "nobody"
http://php.net/security.cgi-bin
Uploading a php.ini thru FTP works and should be in your root (not inside public_html, www, wwwroot, whateffa)
You can't override all PHP settings as mentioned in
http://docs.php.net/en/ini.html
But why does a upload script need to have his own php.ini settings ?
The default php.ini settings are more then sufficient since it allows uploading of 2MB files max.
If you need more then 2MB you can also set it thru .htaccess
Code:
php_value upload_max_filesize 16M