Upload user profile image and save to data base -PHP MYSQLI

Upload user profile image and save to data base -PHP MYSQLI

 If you are working on customized CMS or Social networking website then user profile image may be or may not be a head ache I have developed my own where we can upload and rename the image username.jpg/png/gif with size restriction to 200KB.

PHP MYSQLI Upload Image Tutorial

First design a table where database name is Sanjay.
Create a table userImage  fileds
user – username will be stored
url – url of img stored
lastUpload- when the upload was done.
Create a folder upload/   where  all images will stored.


<?php
$user="sanjay"; //you can fetch username here
$db=new mysqli('localhost','root','','Sanjay');
if($db->connect_errno){
echo $db->connect_error;
}
$pull="select * from userImage  where user='$user'";
$allowedExts = array("jpg", "jpeg", "gif", "png","JPG");
$extension = @end(explode(".", $_FILES["file"]["name"]));
if(isset($_POST['pupload'])){
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/JPG")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 200000)
&& in_array($extension, $allowedExts))
{
	if ($_FILES["file"]["error"] > 0)
	{
	echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
	}
	else
	{
		echo '<div class="plus">';
		echo "Uploaded Successully";
		echo '</div>';echo"<br/><b><u>Image Details</u></b><br/>";

		echo "Name: " . $_FILES["file"]["name"] . "<br/>";
		echo "Type: " . $_FILES["file"]["type"] . "<br/>";
		echo "Size: " . ceil(($_FILES["file"]["size"] / 1024)) . " KB";

		if (file_exists("upload/" . $_FILES["file"]["name"]))
		{
		unlink("upload/" . $_FILES["file"]["name"]);
		}
		else{
			$pic=$_FILES["file"]["name"];
			$conv=explode(".",$pic);
			$ext=$conv['1'];
			move_uploaded_file($_FILES["file"]["tmp_name"],"upload/". $user.".".$ext);
			echo "Stored in as: " . "upload/".$user.".".$ext;
			$url=$user.".".$ext;

			$query="update userImage set url='$url', lastUpload=now() where user='$user'";
			if($upl=$db->query($query)){
			echo "<br/>Saved to Database successfully";
			}
		 }
	}
}else{
 echo "File Size Limit Crossed 200 KB Use Picture Size less than 200 KB";
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
<?php
$res=$db->query($pull);
$pics=$res->fetch_assoc();
echo '<div class="imgLow">';
echo "<img src='upload/$pics[url]' alt='profile picture' width='80 height='64'   class='doubleborder'/></div>";
?>
<input type="file" name="file" />
<input type="submit" name="pupload" class="button" value="Upload"/>
</form>

Hope You will understand this simple script.

Tutorial is update on 31 May 2017, working fine tested on  XAMPP Version 7.0.8

if you want complete script with foundation framework, profile mangement, password change, user profile picture management then download my open -source project Adminplus at githhub
download Zip file extract and save it to htdocs folder , if using Linux set permission . open phpmyadmin and create a database sanjay_plus now import  sql . Now we can login using username sanjay password openplus.in.

19 Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Do you have any Query / Suggestion