Personally I wouldn't use PHP to upload anything larger than 2MB (which is PHP's default setting). Dreamhost raises PHP's default upload size to a generous 7MB, but you can raise it further by creating a custom php.ini if you really need to use PHP for uploads. The upper PHP Memory limit is ~ 90MB. You could use a chunking type script which could make your upload filesize limit practically "unlimited".
Again - I wouldn't rely on PHP for uploading files. FTP was designed for the purpose, CGI is available on all accounts and PERL et al. uploaders are far and away more robust than any PHP solution.