First Step: Taking file from user through an HTML form
In the first step we need to create an HTML form through which the user can upload his file. I am creating a sample HTML form, you can use any of your own, but dont forget to change "enctype" to "multipart/form-data". Changing the "enctype" is mandatory for uploading files.
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1"> <table width="100%" border="0"> <tr> <td>Select File:</td> <td><label> <input type="file" name="file" id="file" /> </label></td> </tr> <tr> <td colspan="2"><label> <input type="submit" name="button" id="button" value="Upload" /> </label></td> </tr> </table> </form>
Second Step: Validation of Uploaded File
In the second step we will validate the uploaded file, in this script I am doing two validations first is there any file uploaded or not, and second whether the file extension is allowed or not.
<?php
$file = $_FILES['file'];
// Validating The Uploaded File
if ($_REQUEST['button']=="Upload")
{
if(is_array($file)) # CHECK UPLOADED FILE FOR VALIDATION
{
$file['name'] = str_replace(" ","_",$file['name']);
$file['name'] = str_replace("&","and",$file['name']);
# CHECK FILE TYPE IF IT IS IMAGE JPG,GIF,PNG ETC
$fnarr = explode(".", $file['name']);
$file_extension = strtolower($fnarr[count($fnarr)-1]);
$allowed_file_type = array('jpg','jpeg','gif','bmp');
if(in_array($file_extension,$allowed_file_type))
{
# GO AHEAD, THESE FILE TYPE ALLOWED
$file['name'] = substr(md5($file['name'].time()),5,15).".".$file_extension;
}
else
{
echo "Invalid File type! please upload only ".implode(",",$allowed_file_type)." files.";
$_REQUEST['button']="NULL"; // setting button to null to stop uploading process
}
}
else
{
echo "Please upload any file";
$_REQUEST['button']="NULL"; // setting button to null to stop uploading process
}
}
?>Third Step: Copying Uploaded file to the ServerAfter validation we have to copy the uploaded file to the server. In this script I am saving the uploaded file in "images" directory, so dont forget to create the "images" directory.
<?php
// Copying The Uploaded File to the server
if($_REQUEST['button']=="Upload")
{
// UPLOADING PROCESS FOR FILE
if(is_array($file))
{
$file_type = $file['type'];
if(is_dir("images/"))
{
$file1 = "images/".$file['name'];
if(move_uploaded_file($file['tmp_name'],$file1))
{
$file = $file['name'];
echo "File added successfuly";
}
else
$file = "";
}
else
{
echo "dir images not exist";
exit();
}
}
}
?>So guyz thats all, the complete php file uploader script is given below:<?php
$file = $_FILES['file'];
// Validating The Uploaded File
if ($_REQUEST['button']=="Upload")
{
if(is_array($file)) # CHECK UPLOADED FILE FOR VALIDATION
{
$file['name'] = str_replace(" ","_",$file['name']);
$file['name'] = str_replace("&","and",$file['name']);
# CHECK FILE TYPE IF IT IS IMAGE JPG,GIF,PNG ETC
$fnarr = explode(".", $file['name']);
$file_extension = strtolower($fnarr[count($fnarr)-1]);
$allowed_file_type = array('jpg','jpeg','gif','bmp');
if(in_array($file_extension,$allowed_file_type))
{
# GO AHEAD, THESE FILE TYPE ALLOWED
$file['name'] = substr(md5($file['name'].time()),5,15).".".$file_extension;
}
else
{
echo "Invalid File type! please upload only ".implode(",",$allowed_file_type)." files.";
$_REQUEST['button']="NULL"; // setting button to null to stop uploading process
}
}
else
{
echo "Please upload any file";
$_REQUEST['button']="NULL"; // setting button to null to stop uploading process
}
}
// Copying The Uploaded File to the server
if($_REQUEST['button']=="Upload")
{
// UPLOADING PROCESS FOR FILE
if(is_array($file))
{
$file_type = $file['type'];
if(is_dir("images/"))
{
$file1 = "images/".$file['name'];
if(move_uploaded_file($file['tmp_name'],$file1))
{
$file = $file['name'];
echo "File added successfuly";
}
else
$file = "";
}
else
{
echo "dir images not exist";
exit();
}
}
}
?>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="100%" border="0">
<tr>
<td>Select File:</td>
<td><label>
<input type="file" name="file" id="file" />
</label></td>
</tr>
<tr>
<td colspan="2"><label>
<input type="submit" name="button" id="button" value="Upload" />
</label></td>
</tr>
</table>
</form>If you have any queries or difficulties in the implementation of this script, feel free to comment and ask.
No comments:
Post a Comment