Usually the mistake I end up making is either related to permissions
(i.e. the permissions your webserver has to PHP's temporary directory)
or related to the file size limitations (as defined in the php.ini file).
I would start there. The php.ini file on Linux (and of course this is
not true for all ditros) is usually in /etc/php/ or /etc/php4