Main Content

PHP Image upload script

Archive - Originally posted on "The Horse's Mouth" - 2007-03-21 19:31:59 - Graham Ellis

"How do I upload an image to my server?" That's a common question and I have provided many answers before ... but today I wrote a very simple script that shows just the pertinent points of uploading an image.

<?php
if ($_REQUEST[completed] == 1) {
$newname = uniqid("whc").".jpg";
move_uploaded_file($_FILES['mailfile']['tmp_name'],
"../robdemo/$newname");
} ?>
<html>
<head><title>Upload page</title></head>
<body><h1>Image Uploader</h1>
<?php if ($_REQUEST[completed] != 1) { ?>
<b>Please upload an image</b><br>
<form enctype=multipart/form-data method=post>
<input type=hidden name=MAX_FILE_SIZE value=1500000>
<input type=hidden name=completed value=1>
Choose file to send: <input type=file name=mailfile> and
<input type=submit></form>
<?php } else { ?>
<b>Yum, Yum. I enjoyed that</b>
<?php } ?>
<hr>
Copyright, etc
</body></html>


What do you need to note?

1. The upload directory needs to exist and have appropriate write permissions
2. The form needs an enctype tag
3. You may need to set up the temporary directory if your server is running Windows

Also note that I've simply given each uploaded file a unique name - I haven't in this example provided any way to actually get at the data that's been placed on the server. And I've doing nothing to stop my user from uploading pictures that are too large or inappropriate for my site either. It's just a simple script to show you the principles.