Zymic

Webmaster resources

Follow us on Twitter!

Hosting status updates - Click here

PHP & MySQL

Free Tutorials » PHP & MySQL » Creating a file upload form with PHP

Learn the basics of coding an upload file form in PHP.

Step 1

Firstly we need a form that can upload an image to save with PHP. This could be something like this:

<form action="./upload.php" method="post" enctype="multipart/form-data">
   <p>
      <label for="file">Select a file:</label> <input type="file" name="userfile" id="file"> <br />
      <button>Upload File</button>
   <p>
</form>

On line one we tell the form to send the information to our PHP file (which we will create later) named upload.php, we then tell the form to send the information as "multipart/form-data", this is required to send files through the form. Then we create an input with type="file", this makes an input with the required buttons to select a file. Finally we add a button to submit the form.

Step 2

Now we can create our upload.php file. To start we'll check that the file upload is safe by setting a list of allowed filetypes and disallowing all other file uploads. This will prevent people from uploading malicious files. Then we will check the filesize to prevent large files from being uploaded.

<?php
   // Configuration - Your Options
      $allowed_filetypes = array('.jpg','.gif','.bmp','.png'); // These will be the types of file that will pass the validation.
      $max_filesize = 524288; // Maximum filesize in BYTES (currently 0.5MB).
      $upload_path = './files/'; // The place the files will be uploaded to (currently a 'files' directory).
 
   $filename = $_FILES['userfile']['name']; // Get the name of the file (including file extension).
   $ext = substr($filename, strpos($filename,'.'), strlen($filename)-1); // Get the extension from the filename.
 
   // Check if the filetype is allowed, if not DIE and inform the user.
   if(!in_array($ext,$allowed_filetypes))
      die('The file you attempted to upload is not allowed.');
 
   // Now check the filesize, if it is too large then DIE and inform the user.
   if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize)
      die('The file you attempted to upload is too large.');
 
   // Check if we can upload to the specified path, if not DIE and inform the user.
   if(!is_writable($upload_path))
      die('You cannot upload to the specified directory, please CHMOD it to 777.');
 
   // We'll start handling the upload in the next step
 
?>

It's worth noting, that by default PHP will not handle file uploads larger than 2MB, if you require PHP to handle larger files then you must first set upload_max_filesize and post_max_size in your php.ini file to be larger than 2MB.

Step 3

Now that we know we have a suitably small file of a safe filetype we can upload it to where we want it to go. Using the same file:

<?php
   // Configuration - Your Options
      $allowed_filetypes = array('.jpg','.gif','.bmp','.png'); // These will be the types of file that will pass the validation.
      $max_filesize = 524288; // Maximum filesize in BYTES (currently 0.5MB).
      $upload_path = './files/'; // The place the files will be uploaded to (currently a 'files' directory).
 
   $filename = $_FILES['userfile']['name']; // Get the name of the file (including file extension).
   $ext = substr($filename, strpos($filename,'.'), strlen($filename)-1); // Get the extension from the filename.
 
   // Check if the filetype is allowed, if not DIE and inform the user.
   if(!in_array($ext,$allowed_filetypes))
      die('The file you attempted to upload is not allowed.');
 
   // Now check the filesize, if it is too large then DIE and inform the user.
   if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize)
      die('The file you attempted to upload is too large.');
 
   // Check if we can upload to the specified path, if not DIE and inform the user.
   if(!is_writable($upload_path))
      die('You cannot upload to the specified directory, please CHMOD it to 777.');
 
   // Upload the file to your specified path.
   if(move_uploaded_file($_FILES['userfile']['tmp_name'],$upload_path . $filename))
         echo 'Your file upload was successful, view the file <a href="' . $upload_path . $filename . '" title="Your File">here</a>'; // It worked.
      else
         echo 'There was an error during the file upload.  Please try again.'; // It failed :(.
 
?>

There you have it! A safe and suitable upload script.

Step 4

For more information look through the Handling File Uploads section at php.net

Tutorial comments

16.09.2014 -

polo2014 says …

http://www.shopbestgoods.com/
http://www.nike-jordanshoes.com/
http://www.beatsbydreoutlet.net/
http://www.michaelkorsus.com/
http://www.polo-tshirts.com/
http://www.northsclearance.com/
http://www.ralph-laurensale.com/
http://www.gucci-shoesuk2014.com/
http://www.michael-korsusa.com/
http://www.polo-outlets.com/
http://www.ralph-laurenhome.com/
http://www.marcjacobsonsale.com/
http://www.mcmworldwides.com/
http://www.salongchamppairs.com/
http://www.canada-gooser.com/
http://www.burberryoutlet2014.com/
http://www.michaelkors.so/
http://www.hermes-outletonline.com/
http://www.oakley-sunglassfactory.com/
http://www.north-faceoutlets.net/
http://www.moncler-clearance.com/
http://www.woolrich-clearance.com/
http://www.barbour-jacketsoutlet.com/
http://www.moncler-jacketsoutletonline.com/
http://www.monsterbeatsbydres.net/
http://www.louis-vuittonblackfriday.com/
http://www.lv-guccishoesfactory.com/
http://www.mcmoutlet-jp.com/
http://www.cheapdiscountoutlet.com/
http://coachoutlet.iwopop.com/
http://www.coachsfactoryoutlet.com/
http://www.coach-blackfriday2014.com/
http://www.coach-storeoutletonline.com/
http://www.coach-factorysoutletonline.com/
http://www.coachccoachoutlet.com/
http://www.coach-factories.net/
http://www.coach-pursesoutletonline.com/
http://www.llouisvuitton-factory.net/
http://www.coach-outletsusa.com/
http://www.mksfactoryoutlet.com/
http://www.zxcoachoutlet.com/
http://www.mischristmas.com/
http://www.misblackfriday.com/
http://www.bestcustomsonline.com/
http://www.newoutletonlinemall.com/
http://www.clickmichaelkors.com/
http://www.cmichaelkorsoutlet.com/
http://www.ralphlaurenepolo.com/
http://michaelkorsoutlet.mischristmas.com/
http://mcmbackpack.mischristmas.com/
http://monsterbeats.mischristmas.com/
http://northfaceoutlet.mischristmas.com/
http://mk.misblackfriday.com/
http://coachoutlet.misblackfriday.com/
http://coachfactory.misblackfriday.com/
http://uggaustralia.misblackfriday.com/
http://coachpurses.misblackfriday.com/
http://coachusa.misblackfriday.com/
http://coach.misblackfriday.com/
http://michaelkorss.misblackfriday.com/
http://michaelkors.misblackfriday.com/
http://airmax.misblackfriday.com/
http://michael-kors.misblackfriday.com/
https://www.facebook.com/pages/Coach-Factory-Outlet-Online-Store-Michael-Kors-Outlet-Online-Sale-75-Off/712060898859091
https://www.facebook.com/pages/Ralph-Lauren-Polo-Outlet-Online-Sale/1404100279810690

04.09.2014 -

godisagirl says …

http://www.coachoutletstoreinuk.com Coach Factory Outlet
http://www.coachfactoryoutletanus.com Coach Factory Outlet
http://www.coachoutletonlineunsius.com Coach Outlet
http://www.coachoutletonlinetur.com Coach Online Outlet
http://www.coachfactoryoutletnbsa.com Coach Factory Outlet
http://www.coachfactoryoutletuisa.com Coach Outlet Store
http://www.coachoutletstorenie.com Coach Outlet Store
http://www.coachfactorystoreuin.com Coach Outlet Online
http://www.coachfactoryoutletreba.com Coach Factory Outlet
http://www.coachfactoryoutletonlinesius.com Coach Factory Online
http://www.coachoutletonlinetnse.com Coach Factory Outlet
http://www.coachoutletnoia.com Coach Outlet Store Online
http://www.chaneloutletinaus.com Chanel Handbags
http://www.louisvuittonoutletina.com Louis Vuitton Outlet Online
http://www.louisvuittonoutletine.com Louis Vuitton Outlet
http://www.guccibeltsoutletbcus.com Louis Vuitton Belt
http://www.guccibelststco.com Hermes Belt
http://www.coachoutletstoreinuk.com Coach Outlet Online
http://www.coachfactoryoutletanus.com Coach Outlet
http://www.coachoutletonlineunsius.com Coach Factory Outlet
http://www.coachoutletonlinetur.com Coach Outlet Online
http://www.coachfactoryoutletnbsa.com Coach Factory Outlet
http://www.coachfactoryoutletuisa.com Coach Outlet Store Online
http://www.coachoutletstorenie.com Coach Outlet Store Online
http://www.coachfactorystoreuin.com Coach Factory Outlet
http://www.coachfactoryoutletreba.com Coach Outlet
http://www.coachfactoryoutletonlinesius.com Coach Handbags Outlet
http://www.coachoutletonlinetnse.com Coach Outlet
http://www.coachoutletnoia.com Coach Outlet
http://www.chaneloutletinaus.com Chanel Outlet Online
http://www.louisvuittonoutletina.com Louis Vuitton
http://www.louisvuittonoutletine.com Louis Vuitton Outlet
http://www.guccibeltsoutletbcus.com Gucci Belts
http://www.guccibelststco.com Gucci Belt
http://www.louisvuittonoutletsnib.com Louis Vuitton Outlet Online
http://www.oakleysunglassescnc.name Oakley Sunglasses Outlet
http://www.louisvuittonoutletmoba.com Louis Vuitton Outlet Online
http://www.oakleyssunglassesmobo.com Oakley Sunglasses Outlet
http://www.oakleysunglassesmaba.com Cheap Oakley Sunglasses
http://www.oakleysunglassinsc.com Oakley Sunglasses
http://www.louisvuittonoutletsnib.com Louis Vuitton Outlet
http://www.oakleysunglassescnc.name Oakley Sunglasses Outlet
http://www.louisvuittonoutletmoba.com Louis Vuitton Outlet
http://www.oakleyssunglassesmobo.com Oakley Sunglasses Outlet
http://www.oakleysunglassesmaba.com Oakley Sunglasses
http://www.oakleysunglassinsc.com Oakley Sunglasses

04.09.2014 -

godisagirl says …

http://www.coachoutletstoreinuk.com Coach Factory Outlet
http://www.coachfactoryoutletanus.com Coach Factory Outlet
http://www.coachoutletonlineunsius.com Coach Outlet
http://www.coachoutletonlinetur.com Coach Online Outlet
http://www.coachfactoryoutletnbsa.com Coach Factory Outlet
http://www.coachfactoryoutletuisa.com Coach Outlet Store
http://www.coachoutletstorenie.com Coach Outlet Store
http://www.coachfactorystoreuin.com Coach Outlet Online
http://www.coachfactoryoutletreba.com Coach Factory Outlet
http://www.coachfactoryoutletonlinesius.com Coach Factory Online
http://www.coachoutletonlinetnse.com Coach Factory Outlet
http://www.coachoutletnoia.com Coach Outlet Store Online
http://www.chaneloutletinaus.com Chanel Handbags
http://www.louisvuittonoutletina.com Louis Vuitton Outlet Online
http://www.louisvuittonoutletine.com Louis Vuitton Outlet
http://www.guccibeltsoutletbcus.com Louis Vuitton Belt
http://www.guccibelststco.com Hermes Belt
http://www.coachoutletstoreinuk.com Coach Outlet Online
http://www.coachfactoryoutletanus.com Coach Outlet
http://www.coachoutletonlineunsius.com Coach Factory Outlet
http://www.coachoutletonlinetur.com Coach Outlet Online
http://www.coachfactoryoutletnbsa.com Coach Factory Outlet
http://www.coachfactoryoutletuisa.com Coach Outlet Store Online
http://www.coachoutletstorenie.com Coach Outlet Store Online
http://www.coachfactorystoreuin.com Coach Factory Outlet
http://www.coachfactoryoutletreba.com Coach Outlet
http://www.coachfactoryoutletonlinesius.com Coach Handbags Outlet
http://www.coachoutletonlinetnse.com Coach Outlet
http://www.coachoutletnoia.com Coach Outlet
http://www.chaneloutletinaus.com Chanel Outlet Online
http://www.louisvuittonoutletina.com Louis Vuitton
http://www.louisvuittonoutletine.com Louis Vuitton Outlet
http://www.guccibeltsoutletbcus.com Gucci Belts
http://www.guccibelststco.com Gucci Belt
http://www.louisvuittonoutletsnib.com Louis Vuitton Outlet Online
http://www.oakleysunglassescnc.name Oakley Sunglasses Outlet
http://www.louisvuittonoutletmoba.com Louis Vuitton Outlet Online
http://www.oakleyssunglassesmobo.com Oakley Sunglasses Outlet
http://www.oakleysunglassesmaba.com Cheap Oakley Sunglasses
http://www.oakleysunglassinsc.com Oakley Sunglasses
http://www.louisvuittonoutletsnib.com Louis Vuitton Outlet
http://www.oakleysunglassescnc.name Oakley Sunglasses Outlet
http://www.louisvuittonoutletmoba.com Louis Vuitton Outlet
http://www.oakleyssunglassesmobo.com Oakley Sunglasses Outlet
http://www.oakleysunglassesmaba.com Oakley Sunglasses
http://www.oakleysunglassinsc.com Oakley Sunglasses

13.04.2014 -

polo2014 says …

http://www.coach-storeoutletonline.com/ Coach Black Friday 2013
http://www.coachcoachoutlet.com/ Coach Cyber Monday
http://www.coachxfactory.com/ Coach Factory
http://www.coach-factoryoutletonline.net/ Coach Outlet Factory
http://www.coach-outletusa.com/ Coach Outlet USA
http://www.coach-pursesfactory.com/ Coach Purses Factory
http://www.coachpurseusa.com/ Coach Purses USA
http://www.coach-storeoutlet.com/ Coach Store Outlet
http://www.coachxpursesonsale.com/ Coach Purses On Sale
http://www.discountbeatsbydresale.com/ Monster Beats Outlet
http://www.louis-vuittonblackfriday.com/ Louis Vuitton Outlet
http://www.lv-guccishoesfactory.com/ Louis Vuitton Factory
http://www.marcjacobsonsale.com/ Marc Jacobs On Sale
http://www.mcmblackfriday.com/ MCM Outlet
http://www.mcmoutlet-jp.com/ MCM 店铺
http://www.michaelkorsmas.com/ Michael Kors Outlet
http://www.michaelkors.so/ Michael Kors Outlet
http://www.michaelkorsfactory-store.com/ Michael Kors Factory
http://www.michaelkorsoutletr.com/ Michael Kors Outlet
http://www.michael-korsfactoryonline.com/ Michael Kors Factory Online
http://www.newcoachfactory.com/ Coach Factory Outlet
http://www.north-faceoutletonlines.net/ North Face Outlet Online
http://www.polo-outletstore.com/ Polo Outlet Store
http://www.ralphlaurenuker.com/ Ralph Lauren UK
http://www.saclongchamppairs.com/ Sac Longchamp Pairs
http://www.tcoachoutletonline.com/ Coach Outlet Online
http://www.the-coachfactoryoutlet.com/ Coach Factory Oultet
http://www.uggaustralia.cc/ Ugg Australia
http://www.barbour-jacketsoutlet.com/ Barbour Jackets Outlet Online
http://www.canada-gooser.com/ Canada Goose Outlet
http://www.guccishoes-factorys.net/ Gucci Outlet Online
http://www.michaelkors-states.com/ Michael Kors Outlet
http://www.moncler-clearance.com/ Moncler Clearance
http://www.moncler-jacketsoutletonline.com/ Moncler Jackets Outlet Online
http://www.northsclearance.com/ North Clearace Outlet
http://www.ralph-pololaurens.com/ Polo Ralph Lauren Outlet Online
http://www.woolrich-clearance.com/ Woolrich Clearance
http://www.cvshopfactory.com/ shop.coachfactory.com
http://www.mksfactoryoutlet.com/ Michael Kors Factory Outlet
http://www.zxcoachoutlet.com/ Coach Outlet Online USA
http://www.mischristmas.com/ Coach Factory Outlet Online
http://www.misblackfriday.com/ Black Friday
http://www.thebeatsbydre.com/ Beats by Dre
http://www.newoutletonlinemall.com/ Coach Purses Outlet Online
http://www.clickmichaelkors.com/ Michael Kors USA
http://www.cmichaelkorsoutlet.com/ Michael Kors Outlet USA

10.04.2014 -

cheapbagsbay says …

HTTP:// www.cheapbagsbay.com
We are a professional company which supplies the excellent products series,
including bags,hats, sunglasses, bikinis, t-shirts, belts and jeans.


Top quality , Low price, Excellent service
1)Only sell high quality products series.
2)Wholesale price------ accept PAYPAL,CC, western union, Bank wire.
3)Free shipping :safe & fast, , and just only need 5-7 business days
to delivery.
4)Trustworthy business, small or large order are welcome
www.cheapbagsbay.com
www.cheapbagsbay.com
www.cheapbagsbay.com

Please contact us for more details, we will do our best for you then.
1)Gtalk: cheapbagsbay@gmail.com



Website: www.cheapbagsbay.com

View all user comments for this tutorial.

Tutorial statistics

Date added:
21.08.2007
Author:
Alex Elliott
User rating:
4/5
Rate tutorial:
Total views:
39672
Total comments:
469

Advertisements