Easier? Not really. More readable and maintainable? Definitely.
First off, get rid of all your unnecessary closing and opening php tags ?><?php. That would usually be any sinlge set of such tags where there is nothing (but whitespace) in between. In your case however, you also have redundant html tags, such as a </p> which either has no matching start tag, or if there is a matching <p> tag outside of the posted code your tags are in an invalid order (<p><form></p>). Validate your html code.
There are various ways to increase the abstraction level. One simple way would be to create an ftp class. Upon class instantiation you create your connection. Then just call $ftp->upload($file) several times.
But even if you do not choose to do this, at least move the code to open and close the ftp connection outside of the loop. I.e.
open ftp connection.
move to appropriate directory
for (... $file...) {
}
close ftp connection
You should definitely inspect the error element for each file and only upload it if it's ok.
You should also either remove your missguiding comments and let the code speak for itself, or at the very least correct the comments (or code if the comments are correct and the code isn't). Two examples:
//2meg max
Ini_set("upload_max_filesize","100M");
//set post size large enough to accomidate
//3 100meg files and some overhead
Ini_set("post_max_size","180M");
Finally, convert all your function calls to lower cases. I have no idea why php is case sensitive for variables but not function names. So while your code is syntactically correct, at least I believe it's bad practice to not adhere to function name casing as it was defined.