How To Insert Upload Image Into Database
Server-side file upload can be easily implemented using PHP. In that location are various ways available to upload image to server and display images on the webpage. Mostly, in a dynamic 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 name stored in the database and display on the web page.
The paradigm tin can be uploaded straight to the database without storing on the server. But it will increase the database size and web page load time. Then, information technology'southward ever a adept idea to upload images to the server and shop file names in the database. In this tutorial, we will show you the entire process to upload and store the paradigm file in MySQL database using PHP.
The example code demonstrates the process to implement the file upload functionality in the web application and the post-obit functionality will be implemented.
- HTML form to upload prototype.
- Upload epitome to server using PHP.
- Shop file name in the database using PHP and MySQL.
- Remember images from the database and display in the web page.
Create Datbase Tabular array
To store the prototype file proper noun a table demand 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(11) NOT NULL AUTO_INCREMENT, `file_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `uploaded_on` datetime Non NULL, `condition` enum('1','0') COLLATE utf8_unicode_ci Non Null DEFAULT '1', PRIMARY KEY (`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
) equally per your MySQL credentials.
<?php
// Database configuration
$dbHost = "localhost" ;
$dbUsername = "root" ;
$dbPassword = "root" ;
$dbName = "codexworld" ; // Create database connection
$db = new mysqli ( $dbHost , $dbUsername , $dbPassword , $dbName ); // Cheque connexion
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 following attributes.
- method="post"
- enctype="multipart/form-data"
Too, brand certain <input> tag contains type="file"
aspect.
<form activeness="upload.php" method="post" enctype="multipart/course-data"> Select Image File to Upload: <input type="file" proper name="file"> <input type="submit" name="submit" value="Upload"> </form>
The file upload class will be submitted to the upload.php
file to upload image to the server.
Upload File to Server and Shop in Database (upload.php)
The upload.php
file handles the paradigm upload functionality and shows the status bulletin 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 check whether the user selects an paradigm file.
- Upload paradigm to server using move_uploaded_file() role in PHP.
- Insert image file proper name in the MySQL database using PHP.
- Upload status will exist 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 = "Lamentable, there was an error uploading your file." ;
}
}else{
$statusMsg = 'Sorry, only JPG, JPEG, PNG, GIF, & PDF files are allowed to upload.' ;
}
}else{
$statusMsg = 'Delight select a file to upload.' ;
} // Display condition message
echo $statusMsg ;
?>
Display Images from Database
Now nosotros will recollect the uploaded images from the server based on the file names in the database and display images in the web page.
- Include the database configuration file.
- Fetch images from MySQL database using PHP.
- List 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 Social club Past 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 prototype(due south) found...</p> <?php } ?>
Create Dynamic Epitome Gallery with jQuery, PHP & MySQL
Conclusion
Here we accept shown the most effective manner to implement image upload functionality on the website. You can easily extend the file upload functionality as per your requirements. For providing the improve user-interface yous can integrate the Ajax File Upload functionality.
Upload multiple images using jQuery, Ajax and PHP
Are y'all want to go implementation aid, or modify or heighten the functionality of this script? Submit Paid Service Request
If you take whatever questions nigh this script, submit it to our QA community - Ask Question
Source: https://www.codexworld.com/upload-store-image-file-in-database-using-php-mysql/
Posted by: overbeyeaspost.blogspot.com
0 Response to "How To Insert Upload Image Into Database"
Post a Comment