If you want to upload from the input fields that you mentioned in your recent "looping" thread then it would be best if you changed the name of all input fields to use square brackets, which will make the value accessible as array in php:

After changing the input name to file[], use print_r($_FILES) in your php code to see how the array is structured and from there you will be able to adapt your code accordingly.

BTW, for better security of you should change the way you check the allowed file types. The "type" available in $_FILES is set by the browser and can't be fully trusted. If you want to allow images only, then use getimagesize() on the file and read the file type from its result. This is much more secure. Suppress errors using @getimagesize() and if this function fails (returns false) then reject the file altogether since it's not a valid image then.

I followed lemon juices suggestion (no offense chejug, but isn't JavaScript not to reliable as it can be turned off?)So, Heres what im gettingWarning: explode() expects parameter 2 to be string, array given in /home/fixmy1/public_html/masterasp/providers/thanks.php on line 42

Warning: end() expects parameter 1 to be array, null given in /home/fixmy1/public_html/masterasp/providers/thanks.php on line 42Invalid fileWarning: explode() expects parameter 2 to be string, array given in /home/fixmy1/public_html/masterasp/providers/thanks.php on line 42

Warning: end() expects parameter 1 to be array, null given in /home/fixmy1/public_html/masterasp/providers/thanks.php on line 42Invalid fileWarning: explode() expects parameter 2 to be string, array given in /home/fixmy1/public_html/masterasp/providers/thanks.php on line 42

Warning: end() expects parameter 1 to be array, null given in /home/fixmy1/public_html/masterasp/providers/thanks.php on line 42Invalid fileWarning: explode() expects parameter 2 to be string, array given in /home/fixmy1/public_html/masterasp/providers/thanks.php on line 42

Warning: end() expects parameter 1 to be array, null given in /home/fixmy1/public_html/masterasp/providers/thanks.php on line 42Invalid fileWarning: explode() expects parameter 2 to be string, array given in /home/fixmy1/public_html/masterasp/providers/thanks.php on line 42

Warning: end() expects parameter 1 to be array, null given in /home/fixmy1/public_html/masterasp/providers/thanks.php on line 42Invalid file[B]but this is what happens when I

When looping through the files to be processed use [is_uploaded_file() on each one in turn and if no file has been uploaded on that pass then use break to end that pass. You might want to consider noting the failure in an error log. Also you might want to consider using [URL="http://uk1.php.net/manual/en/function.exif-imagetype.php"]exif_imagetype()](http://uk1.php.net/is_uploaded_file) on each image to check that the extension matches up with what it is as file extensions can't be 100% relied upon.

Oh, sorry, I forgot that if you set the file input's name to use square brackets like file[] then $_FILES array has this unintuitive structure like SpacePhoenix presented above so it's not possible to directly loop through the files using

Warning: is_uploaded_file() expects parameter 1 to be string, array given in /home/fixmy1/public_html/masterasp/providers/thanks.php on line 47Possible file upload attack: filename 'Array'But if look into FILES when I try to upload 1 image, I get this

This article provides basic comparisons for common text editors. More feature details for text editors are available from the Category of text editor features and from the individual products' articles. This article may not be up-to-date or necessarily all-inclusive. Feature comparisons are made between stable versions of software, not the upcoming versions or beta releases – and are exclusive of any add-ons, extensions or external programs (unless specified in footnotes).

I'd steer clear of any paid-for ones unless you can justify to yourself the cost of them.