Registration Form With Image Upload in Php Example
Server-side file upload tin exist easily implemented using PHP. At that place are various ways available to upload image to server and brandish images on the webpage. Generally, in a dynamic spider web application, the uploaded image is stored in a directory of the server and the file name is inserted in the database. Later, the images are retrieved from the server based on the file proper name stored in the database and display on the web page.
The image can be uploaded directly to the database without storing on the server. But it will increase the database size and web page load fourth dimension. So, it'southward always a proficient idea to upload images to the server and store file names in the database. In this tutorial, nosotros will bear witness you the entire procedure to upload and shop the image file in MySQL database using PHP.
The instance code demonstrates the process to implement the file upload functionality in the web application and the post-obit functionality volition be implemented.
- HTML course to upload image.
- Upload image to server using PHP.
- Store file name in the database using PHP and MySQL.
- Retrieve images from the database and display in the web page.
Create Datbase Table
To store the image file proper name a table need to be created in the database. The following SQL creates an images table with some basic fields in the MySQL database.
CREATE Table `images` ( `id` int(xi) NOT Zip AUTO_INCREMENT, `file_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `uploaded_on` datetime Non Nil, `condition` enum('1','0') COLLATE utf8_unicode_ci NOT Zero DEFAULT '1', Main Primal (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Database Configuration (dbConfig.php)
The dbConfig.php file is used to connect and select the MySQL database. Specify the database hostname ($dbHost), username ($dbUsername), password ($dbPassword), and name ($dbName) as per your MySQL credentials.
<?php
// Database configuration
$dbHost = "localhost" ;
$dbUsername = "root" ;
$dbPassword = "root" ;
$dbName = "codexworld" ; // Create database connexion
$db = new mysqli ( $dbHost , $dbUsername , $dbPassword , $dbName ); // Check connection
if ( $db -> connect_error ) {
die( "Connectedness failed: " . $db -> connect_error );
}
?>
Upload Form HTML
Create an HTML form to allow the user to choose a file they want to upload. Make sure <form> tag contains the post-obit attributes.
- method="post"
- enctype="multipart/course-data"
Also, brand sure <input> tag contains type="file" attribute.
<form activity="upload.php" method="post" enctype="multipart/form-information"> Select Image File to Upload: <input blazon="file" proper name="file"> <input type="submit" name="submit" value="Upload"> </form>
The file upload form volition be submitted to the upload.php file to upload epitome to the server.
Upload File to Server and Store in Database (upload.php)
The upload.php file handles the image upload functionality and shows the status message to the user.
- Include the database configuration file to connect and select the MySQL database.
- Get the file extension using pathinfo() function in PHP and validate the file format to bank check whether the user selects an image file.
- Upload prototype to server using move_uploaded_file() part in PHP.
- Insert image file name in the MySQL database using PHP.
- Upload status will be shown to the user.
<?php
// Include the database configuration file
include 'dbConfig.php' ;
$statusMsg = '' ; // File upload path
$targetDir = "uploads/" ;
$fileName = basename ( $_FILES [ "file" ][ "name" ]);
$targetFilePath = $targetDir . $fileName ;
$fileType = pathinfo ( $targetFilePath , PATHINFO_EXTENSION );if(isset(
$_POST [ "submit" ]) && !empty( $_FILES [ "file" ][ "name" ])){
// Allow certain file formats
$allowTypes = array( 'jpg' , 'png' , 'jpeg' , 'gif' , 'pdf' );
if( in_array ( $fileType , $allowTypes )){
// Upload file to server
if( move_uploaded_file ( $_FILES [ "file" ][ "tmp_name" ], $targetFilePath )){
// Insert image file name into database
$insert = $db -> query ( "INSERT into images (file_name, uploaded_on) VALUES ('" . $fileName . "', NOW())" );
if( $insert ){
$statusMsg = "The file " . $fileName . " has been uploaded successfully." ;
}else{
$statusMsg = "File upload failed, please effort again." ;
}
}else{
$statusMsg = "Deplorable, at that place was an error uploading your file." ;
}
}else{
$statusMsg = 'Lamentable, only JPG, JPEG, PNG, GIF, & PDF files are allowed to upload.' ;
}
}else{
$statusMsg = 'Please select a file to upload.' ;
} // Display status message
echo $statusMsg ;
?>
Display Images from Database
Now we will retrieve the uploaded images from the server based on the file names in the database and display images in the web folio.
- Include the database configuration file.
- Fetch images from MySQL database using PHP.
- Listing images from the uploads directory of the server.
<?php
// Include the database configuration file
include 'dbConfig.php' ; // Get images from the database
$query = $db -> query ( "SELECT * FROM images ORDER By uploaded_on DESC" );if(
$query -> num_rows > 0 ){
while( $row = $query -> fetch_assoc ()){
$imageURL = 'uploads/' . $row [ "file_name" ];
?> <img src="<?php echo $imageURL ; ?>" alt="" /> <?php }
}else{ ?> <p>No image(south) constitute...</p> <?php } ?>
Create Dynamic Image Gallery with jQuery, PHP & MySQL
Conclusion
Here nosotros accept shown the almost effective way to implement image upload functionality on the website. Yous tin hands extend the file upload functionality as per your requirements. For providing the better user-interface you lot can integrate the Ajax File Upload functionality.
Upload multiple images using jQuery, Ajax and PHP
Are you desire to get implementation help, or change or enhance the functionality of this script? Submit Paid Service Request
If you take whatever questions nearly this script, submit it to our QA community - Ask Question
Source: https://www.codexworld.com/upload-store-image-file-in-database-using-php-mysql/
0 Response to "Registration Form With Image Upload in Php Example"
Post a Comment