how to avoid deletion of existing pic after upload php
Server-side file upload can be easily implemented using PHP. In that location are various ways bachelor to upload image to server and display images on the webpage. Generally, in a dynamic spider web application, the uploaded paradigm 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 prototype can be uploaded directly to the database without storing on the server. But information technology will increase the database size and web folio load time. And so, it'south always a good idea to upload images to the server and store file names in the database. In this tutorial, we will prove you lot the unabridged process to upload and shop the image file in MySQL database using PHP.
The example lawmaking demonstrates the procedure to implement the file upload functionality in the web application and the post-obit functionality will be implemented.
- HTML course to upload image.
- Upload prototype 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 name 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 NOT Naught, `status` enum('1','0') COLLATE utf8_unicode_ci NOT Zippo DEFAULT 'one', PRIMARY 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
) 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 ); // Check connection
if ( $db -> connect_error ) {
die( "Connection failed: " . $db -> connect_error );
}
?>
Upload Form HTML
Create an HTML course to allow the user to choose a file they want to upload. Make sure <form> tag contains the following attributes.
- method="post"
- enctype="multipart/class-data"
Also, brand certain <input> tag contains blazon="file"
attribute.
<course action="upload.php" method="mail" enctype="multipart/form-information"> Select Image File to Upload: <input type="file" 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 Store in Database (upload.php)
The upload.php
file handles the prototype upload functionality and shows the condition 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 check whether the user selects an image file.
- Upload epitome to server using move_uploaded_file() function in PHP.
- Insert image file name in the MySQL database using PHP.
- Upload condition volition 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" ][ "proper name" ])){
// Permit sure file formats
$allowTypes = assortment( 'jpg' , 'png' , 'jpeg' , 'gif' , 'pdf' );
if( in_array ( $fileType , $allowTypes )){
// Upload file to server
if( move_uploaded_file ( $_FILES [ "file" ][ "tmp_name" ], $targetFilePath )){
// Insert paradigm file proper 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, delight try again." ;
}
}else{
$statusMsg = "Distressing, in that location was an mistake uploading your file." ;
}
}else{
$statusMsg = 'Sorry, only JPG, JPEG, PNG, GIF, & PDF files are allowed to upload.' ;
}
}else{
$statusMsg = 'Please select a file to upload.' ;
} // Display status message
repeat $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 spider 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' ; // Become images from the database
$query = $db -> query ( "SELECT * FROM images Gild 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) found...</p> <?php } ?>
Create Dynamic Paradigm Gallery with jQuery, PHP & MySQL
Conclusion
Hither nosotros have shown the about effective way to implement image upload functionality on the website. You lot can hands extend the file upload functionality as per your requirements. For providing the better user-interface yous tin can integrate the Ajax File Upload functionality.
Upload multiple images using jQuery, Ajax and PHP
Are you want to get implementation aid, or modify or raise the functionality of this script? Submit Paid Service Request
If you lot take any questions nigh this script, submit it to our QA customs - Enquire Question
Source: https://www.codexworld.com/upload-store-image-file-in-database-using-php-mysql/
0 Response to "how to avoid deletion of existing pic after upload php"
Postar um comentário