class.upload.php is a powerful and mature PHP class to manage uploaded files, and manipulate images in many ways. The script is available under a GPL license.
Right - my upload form has <input name="action" type="hidden" value="image" />. I guess I need to put "multiple" in to allow for uploading of images or PDFs, or separate the user input into one form for images (which is the most likely upload) and another for PDF documents. I'll test that out and let you know the results.
Thanks,
Tom