With PHP, it is easy to upload files to the server.
However, with ease comes danger, so always be careful when allowing file uploads.
1. Configure The "php.ini" File:
First, ensure that PHP is configured to allow file uploads.
In your "php.ini" file, search for the file_uploads directive, and set it to On:
2. Create The HTML Form:
Next, create an HTML form that allow users to choose the image file they want to upload:
<html>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>
Some rules to follow for the HTML form above:
- Make sure that the form uses method="post"
- The form also needs the following attribute: enctype="multipart/form-data". It specifies which content-type to use when submitting the form
Without the requirements above, the file upload will not work.
Other things to notice:
- The type="file" attribute of the tag shows the input field as a file-select control, with a "Browse" button next to the input control
The form above sends data to a file called "upload.php", which we will create next.
3. Create The Upload File PHP Script:
The "upload.php" file contains the code for uploading a file:
PHP script explained:
- $target_dir = "uploads/" - specifies the directory where the file is going to be placed.
- $target_file specifies the path of the file to be uploaded.
- $uploadOk=1 is not used yet (will be used later).
- $imageFileType holds the file extension of the file.
- Next, check if the image file is an actual image or a fake image.