PDA

View Full Version : سوال: آپلود تصویر در فرم و ثبت در دیتابیس ...



thacker
شنبه 25 آذر 1391, 10:20 صبح
سلام ...
من یک فرم برای ارسال اطلاعات کاربر دارم که مشخصات کاربر رو در دیتابیس ذخیره میکنه ...
حالا میخوام به این فرم یک بخش برای آپلود عکس اضافه کنم به صورتی که تصویر فرد در پوشه Upload ذخیره بشه و آدرس عکس در دیتابیس ثبت بشه ...
چطور باید این کار رو انجام بدم ؟
با تشکر ...



<?php
if(isset($_POST['submit'])) {
if(!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['mobile'])) {
$query = "INSERT INTO `contact` (name, email, mobile) VALUES ('".$_POST['fullname']."','".$_POST['email']."','".$_POST['mobile']."')";
mysql_query($query);
}
else { $error = "Error"; }
}
?>

<form action="" method="post" id="form">
<input type="text" name="name"><br />
<input type="text" name="email"><br />
<input type="text" name="mobile"><br />
<input type="submit" name="submit" value="send">
</form>

siavashsay
شنبه 25 آذر 1391, 11:28 صبح
دوست عزیز این کد کامل اون چیزی که نیاز دارید ! البته توی همون فولدری که فایل php هست 2 تا فولدر دیگه اضافه کنید به نام های temp و images ! بعد نتیجه رو میبینید !



if(isset($_POST['submit'])){
$username=$_POST['username'];
$password=$_POST['password'];
$email=$_POST['email'];
// And for Image
$img_type=$_FILES['prgimg']['type'];
$img_size=$_FILES['prgimg']['size'];
if((($img_type=="image/jpeg") or ($img_type=="image/png")) and($img_size<200000)){
$target="temp/";
$shot=$_FILES['prgimg']['name'];
$target=$target.basename($shot);
$id=$username;

if(move_uploaded_file($_FILES['prgimg']['tmp_name'],$target)){
if($img_type=="image/jpeg"){
$img_type_get="jpg";
}
else{
$img_type_get="png";
}

$new_img="$id.$img_type_get";
@rename("temp/$shot","$new_img");
// if you want User Resize Function ==>
//resize_image($new_img,$new_img);
if(@copy("$new_img","images/$new_img")){
// For Update and Reupload $new_img to Databe ==> mysql_query("UPDATE `users` SET `img`='$new_img' WHERE `username`='$username'");
// For INSERT When Registering ==> mysql_query("INSERT INTO `users` (`username`,`password`,`email`,`img`) VALUES
// ('$username','$password','$email','$new_img')";
unlink($new_img);
$mess_ret .="The File Has Been uploaded Successfully";
}
}
}else{
$err_ret .="File Does not Match with Rules,Read Rules please";
}

}


ضمنا اگر نیاز به تابعی برای Resize کردن عکس داشتید از این میتونید استفاده کنید !



// Resize pic
function resize_image($file,$new_file){
$new_width=100;
$new_height=90;
if(!extension_loaded('gd')&&!extension_loaded('gd2')) {
die("GD is not installed!");
}
list($width,$height,$type)=getimagesize($file);
switch($type)
{
case 1:$img=imagecreatefromgif($file);break;
case 2:$img=imagecreatefromjpeg($file);break;
case 3:$img=imagecreatefrompng($file);break;
default:die('Unsknown file!');
}

$new_img=imagecreatetruecolor($new_width,$new_heig ht);
if(($type==1)||($type==3)){
imagealphablending($new_img,false);
imagesavealpha($new_img,true);
$tmp=imagecolorallocatealpha($new_img,255,255,255, 127);
imagefilledrectangle($new_img,0,0,$new_width,$new_ height,$tmp);
}
imagecopyresampled($new_img,$img,0,0,0,0,$new_widt h,$new_height,$width,$height);
switch($type)
{
case 1:imagegif($new_img,$new_file);break;
case 2:imagejpeg($new_img,$new_file);break;
case 3:imagepng($new_img,$new_file);break;
default:die('Failed resize image!');
}
}