Categories: PHP & Frameworks

How to Upload Image using PHP?

Here you can learn Upload Image and at a same time information stored into database.

<?php
//define a maxim size for the uploaded images in Kb
 define (“MAX_SIZE”,”100″);

//This function reads the extension of the file. It is used to determine if the file  is an image by checking the extension.
 function getExtension($str) {
         $i = strrpos($str,”.”);
         if (!$i) { return “”; }
         $l = strlen($str) – $i;
         $ext = substr($str,$i+1,$l);
         return $ext;
 }

 function UploadImage(){
//reads the name of the file the user submitted for uploading
$image=$_FILES[‘image’][‘name’];
//if it is not empty
if ($image)
{
//get the original name of the file from the clients machine
$filename = stripslashes($_FILES[‘image’][‘name’]);
//get the extension of the file in a lower case format
$extension = getExtension($filename);
$extension = strtolower($extension);
//if it is not a known extension, we will suppose it is an error and will not  upload the file,
//otherwise we will do more tests
if (($extension != “jpg”) && ($extension != “jpeg”) && ($extension != “png”) && ($extension != “gif”))

{
//print error message
echo ‘<h1>Unknown extension!</h1>’;
$errors=1;
}
else
{
//get the size of the image in bytes
//$_FILES[‘image’][‘tmp_name’] is the temporary filename of the file
//in which the uploaded file was stored on the server
$size=filesize($_FILES[‘image’][‘tmp_name’]);

//compare the size with the maxim size we defined and print error if bigger
if ($size > MAX_SIZE*1024)
{
echo ‘<h1>You have exceeded the size limit!</h1>’;
$errors=1;
}

//we will give an unique name, for example the time in unix time format
$image_name=’aboutus.’.$extension;
//the new name will be containing the full path where will be stored (images folder)
$newname=”upload/”.$image_name;
//we verify if the image has been uploaded, and print error instead

if(file_exists($newname))
{
unlink($newname);
}
$copied = copy($_FILES[‘image’][‘tmp_name’], $newname);
if (!$copied)
{
echo ‘<h1>Copy unsuccessfull!</h1>’;
$errors=1;
}
}
}
return $newname;
}

//This variable is used as a flag. The value is initialized with 0 (meaning no error  found)
//and it will be changed to 1 if an errro occures.
//If the error occures the file will not be uploaded.
 $errors=0;
//checks if the form has been submitted

 if(isset($_POST[‘Submit’]))
 {
  $car_header_image = UploadImage();

$car_about_descr = $_POST[‘txtDesc’];

$str_car_about_page = “select * from car_about where car_aboutID = ‘1’ “;

$result = mysql_query($str_car_about_page);

$rows  = mysql_num_rows($result);

if($rows > 0){
$update_car_about_page = “update car_about set car_header_image = ‘” . $car_header_image . “‘ , car_about_descr = ‘” . $car_about_descr . “‘”;

mysql_query($update_car_about_page );

}else{
$insert_car_about_page = “insert into car_about(car_header_image, car_about_descr) values(‘” . $car_header_image . “‘, ‘” . $car_about_descr . “‘)”;

mysql_query($insert_car_about_page);
}

 }

//If no errors registred, print the success message
 if(isset($_POST[‘Submit’]) && !$errors)
 {
  echo “<h1>File Uploaded Successfully! Try again!</h1>”;
 }

?>

<html>
<head>
<title> Platinum Auto</title>
<link rel=”stylesheet” type=”text/css” href=”style.css” />

</head>

<body>

<p>
<form name=”newad” method=”post” enctype=”multipart/form-data”  action=””>
<table>
<tr>
<td>Upload Header Image</td>
<td>&nbsp;</td>
<td><input type=”file” name=”image”></td>
</tr>
<tr>
<td valign=”top”>Description</td>
<td>&nbsp;</td>
<td><textarea id=”txtDesc” name=”txtDesc” cols=”50″ rows=”10″></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input name=”Submit” type=”submit” ></td>
</tr>
</table>
</form>
</p>
</body>
</html>
Developer Diary

Share
Published by
Developer Diary
Tags: PHP Tips

Recent Posts

Git Tag Cheat Sheet

Introduction Git tags are an essential feature of version control systems, offering a simple way…

4 months ago

Understanding Web Storage: Cookies, Local Storage

Introduction The methods that browsers employ to store data on a user's device are referred…

4 months ago

Setting up OpenVPN Access Server in Amazon VPC – AWS

Introduction A well-known open-source VPN technology, OpenVPN provides strong protection for both people and businesses.…

4 months ago

Enhance Error Tracking & Monitoring: Integrate Sentry with Node.js & Express.js

Introduction Integrating Sentry into a Node.js, Express.js, and MongoDB backend project significantly enhances error tracking…

4 months ago

Comparing Callbacks, Promises, and Async/Await in JavaScript

Introduction In the world of JavaScript development, efficiently managing asynchronous operations is essential. Asynchronous programming…

6 months ago

How To Secure Nginx with Let’s Encrypt on Ubuntu EC2 Instance

Introduction Let's Encrypt is a Certificate Authority (CA) that makes it simple to obtain and…

8 months ago