Computer Programming web Web programming Tips



Upload File PHP code example

By Sergey Skudaev

First time, when I tried to write PHP code for uploading file from my PC to my Web Server, I spent significant amount of time. You can take this PHP code example and modify it for your needs.

To prevent overwriting files uploaded earlier I use current date and time for a new file names. The PHP code example comprised of two PHP files. The first PHP file represent a form, that allows a user to browse local file system, select a file for uploading and submit the form. . I named it "upload_file.php". The second PHP file is an action template that executes uploading the selected file. I named it "act_upload_file.php".

On my Windows PC, I created a folder "uploadfile" inside the htdocs folder and place both files inside uploadfile folder. Besides, I created "upload" folder inside the "uploadfile" folder.

On the hosting web server you have to make sure that user has write permission for "upload" folder. If you use this code example on your local Windows PC you don't have to care about it.

Listing 1. "upload_file.php"

<?php
print('<html>');
print('<head><title>');
print('Upload File Example</title>');
print("</head>");
print('<body>');
print('<form name=myform ENCTYPE="multipart/form-data" method="post" action="act_upload_file.php">');
print('<table class="aaa" align="center" width=80% border=0>');
print('<tr><th align="center">Upload File Exaple</th></tr>');
print('<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000000">');
print('<tr><td align="center">Upload File: <INPUT
NAME="uploaded_file" TYPE="file"></td></tr>');
print('<tr><td> </td></tr>');
print('<tr><td align="center" ><input type=submit name=submit value="Upload"> </td> </tr>');
print('</table></form>');
print('<body></html>');
?>




Listing 2. "act_upload_file.php"

<?php
$uploaded=0;
$ext="";
//generate unique file name using time:
$newfilename= md5(rand() * time());

//do we have a file?
if((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error'] == 0))
{

     $filename =strtolower(basename($_FILES['uploaded_file']['name']));

     $ext = substr($filename, strrpos($filename, '.') + 1);

     if ((($ext == "jpg")||($ext == "JPG")) && ($_FILES["uploaded_file"]["size"] < 500000)&& (($_FILES["uploaded_file"]["type"] == "image/jpeg")|| ($_FILES["uploaded_file"]["type"] == "image/pjpeg")))
       {
       //Determine the path to which we want to save this file
       $ext=".".$ext;
       $newname = dirname(__FILE__) . '/upload/' . $newfilename.$ext;

       if ((move_uploaded_file( $_FILES['uploaded_file']['tmp_name'], $newname)))
       {
       echo "File uploaded successfully!";
       $uploaded=1;
       }
       else
       {
        echo "Error:!";
        print('<p><a href="upload_file.php?"> Back </a></p>');
       }
   } else {
   echo "Error: Only .jpg files is allowed less than 500Kb";
   print('<p><a href="upload_file.php"> Back </a></p>');
   }
} else {
 echo "Error! File is not uploaded!";
 print('<p><a href="upload_file.php" >Back</a> </p>');
}

?>

If you want to limit image width and height usegetimagesize function:







list($width, $height, $type, $attr) = getimagesize( $_FILES['uploaded_file'] ['tmp_name']);

Try to modify the PHP code example. Provide user an input field for a new file name. Think, how to check if this file already exists on the server and alert the user.

My eBooks on Amazon.com



Subscribe to our mail list to receive free code examples.

Comments

No comments yet.

Add Comment

* Required information
(never displayed)
 
Smile Sad Huh Laugh Mad Tongue Crying Grin Wink Scared Cool Sleep Blush Unsure Shocked
 
1000
Which is darker: black or white?
 
Enter answer:
Captcha
Refresh
 
Enter code:
 
Notify me of new comments via email.
 
Remember my form inputs on this computer.
 
I have read and understand the privacy policy. *
 
I have read and agree to the terms and conditions. *
 
 
Powered by Commentics