In this article we will see how to upload files on PHP web page. You have to set up the form as a multipart form if you want to use file upload controls. In this example, that means you set the <form> element's enctype (encoding type) attribute to "multipart/form-data". You can also set the action attribute to the URL where you want the file data to be sent and the method to "post".
About the example : We have a file fileUploadForm.php, it will be used as a form to browse and upload file and of course it can have other form elements (text, checkbox, radobutton etc) as well. The action attribute is set to URL submitFile.php which will handle the file. It can specify the location where to save the file. Please see the self explanatory example below.
fileUploadForm.php
<html>
<head>
<title> PHP - File upload form </title>
</head>
<body>
<form action="submitFile.php" method="post" enctype="multipart/form-data">
<table border="1" width="100%">
<tr>
<td width="50%">Name:</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>File:</td>
<td><input type="file" name="file"/></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Submit"/></td>
</tr>
</table>
</form>
</body>
</html>
submitFile.php
Output
About the example : We have a file fileUploadForm.php, it will be used as a form to browse and upload file and of course it can have other form elements (text, checkbox, radobutton etc) as well. The action attribute is set to URL submitFile.php which will handle the file. It can specify the location where to save the file. Please see the self explanatory example below.
fileUploadForm.php
<html>
<head>
<title> PHP - File upload form </title>
</head>
<body>
<form action="submitFile.php" method="post" enctype="multipart/form-data">
<table border="1" width="100%">
<tr>
<td width="50%">Name:</td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>File:</td>
<td><input type="file" name="file"/></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Submit"/></td>
</tr>
</table>
</form>
</body>
</html>
submitFile.php
<html>
<head>
<title> PHP - File uploaded successfully </title>
</head>
<body>
<?php
echo "Name : ".$_REQUEST["name"]."<br/>";
if ($_FILES["file"]["error"] > 0)
{
echo "Error: ".$_FILES["file"]["error"]."<br/>";
}
else
{
echo "File name: ".$_FILES["file"]["name"]."<br/>";
echo "File type: ".$_FILES["file"]["type"]."<br/>";
echo "File size: ".($_FILES["file"]["size"] / 1024)." Kb<br/>";
echo "File stored in: ".$_FILES["file"]["tmp_name"]."<br/>";
$folderName = "Upload";
//create a folder if it does not exist
if (!is_dir($folderName)) {
mkdir($folderName);
}
//check if file already exists
if (file_exists($folderName."/".$_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"]." already exists.";
}
else
{
//move the file from temp folder to desire folder
move_uploaded_file($_FILES["file"]["tmp_name"],$folderName."/".$_FILES["file"]["name"]);
echo "Stored in: ".$folderName."/".$_FILES["file"]["name"];
}
}
?>
</body>
</html>
Output