Page 1 of 1

ทำการกด edit ภาพแล้ว ทำยังไงให้ไปทับภาพเดิมหรือลบภาพเดิมครับ

Posted: 19/07/2018 11:04 am
by mollyclick
ติดตรงขั้นตอน edit ภาพครับ มันไม่ได้ลบภาพเก่าไปด้วย
ทำให้มีภาพใน folder เยอะครับ
อยากให้ลบด้วยต้องทำไงครับ

Code: Select all

<?php
require_once 'connect.php';

//$user = 'admin';	



if (isset($_POST['save'])) {

   if (!empty($_FILES ['name_image']['name'])) {
   		//$filename = "$user"."-".md5($_FILES['name_image']['name'].time()); ##เพิ่มชื่อ user

$size = $_FILES['name_image']['size'];
         if($size>(150*150)){
          
echo"<script>alert('ขนาดภาพต้องไม่เกิน 150*150');history.back();</script>";
exit ();
}
 
         $filename = md5($_FILES['name_image']['name'].time());
   		$ext = explode('.', $_FILES['name_image']['name']);
   		$dest = __DIR__.DIRECTORY_SEPARATOR.'logo_img'.DIRECTORY_SEPARATOR.$filename.'.'.$ext[1];

          

   		if (!copy($_FILES['name_image']['tmp_name'],$dest)) {
   			echo "upload error";
   			exit();
   		}
   		$name_image = $filename.'.'.$ext[1];
   }
	$member_id = $_POST['member_id'];
}
         if (isset($_POST['id'])) {
            $sql = "UPDATE test SET
                 name_image = '$name_image'
                 WHERE id = '".$_POST["id"]."' ";

         } else{

	$sql = "INSERT into test (member_id , name_image)
	Values ('$member_id' , '$name_image') ";
	}
   

   $conn->query($sql) or die( $conn->error);

	echo "สำเร็จแล้วเว้ยยยยย";
  header('location:list.php');


?>

Re: ทำการกด edit ภาพแล้ว ทำยังไงให้ไปทับภาพเดิมหรือลบภาพเดิมครับ

Posted: 19/07/2018 11:19 am
by tsukasaz
ในเงื่อนไขที่จะทำการอัพเดทข้อมูลรูปภาพ มันเช็คจาก id ที่ส่งค่า POST มา ให้เอา id ไปค้นหาข้อมูลในตาราง ดึงชื่อไฟล์รูปภาพเก่า เอามาลบไฟล์ก่อน

ค่อยทำส่วนอัพเดทชื่อไฟล์รูปภาพ

Re: ทำการกด edit ภาพแล้ว ทำยังไงให้ไปทับภาพเดิมหรือลบภาพเดิมครับ

Posted: 19/07/2018 11:23 am
by mollyclick
ผมทำแบบนี้มันลบได้แต่ใน sql แต่ใน folder ไม่ยอมลบครับ


<?php
require_once 'connect.php';

//ini_set('display_eror',1);

if (isset($_GET['id'])) {

$sql = "SELECT name_image FROM test WHERE id =".$_GET['id']." ";
$query = mysqli_query($conn,$sql) or die ('Error Query');
$data = mysqli_fetch_assoc($query);
$path = __DIR__.DIRECTORY_SEPARATOR.'logo_img'.DIRECTORY_SEPARATOR.$data['name_image'];
if (file_exists($path) && !empty($data['name_image'])) {
@unlink($path);

}
mysqli_query($conn, "Delete FROM test WHERE id =".$_GET['id']."" );
}

$sql = "SELECT * FROM test ";

$query = mysqli_query($conn,$sql) or die ("Error Query");

?>

Re: ทำการกด edit ภาพแล้ว ทำยังไงให้ไปทับภาพเดิมหรือลบภาพเดิมครับ

Posted: 19/07/2018 11:31 am
by tsukasaz
เช็คที่อยู่ไฟล์หรือยังครับ

ต่อจากบรรทัดที่ $path = __DIR__.DIRECTORY_SEPARATOR.'logo_img'.DIRECTORY_SEPARATOR.$data['name_image'];
ให้ลอง echo $path; ดูว่าได้อะไร ที่อยู่ไฟล์ถูกต้องไหม

Re: ทำการกด edit ภาพแล้ว ทำยังไงให้ไปทับภาพเดิมหรือลบภาพเดิมครับ

Posted: 19/07/2018 11:41 am
by mollyclick
tsukasaz wrote:เช็คที่อยู่ไฟล์หรือยังครับ

ต่อจากบรรทัดที่ $path = __DIR__.DIRECTORY_SEPARATOR.'logo_img'.DIRECTORY_SEPARATOR.$data['name_image'];
ให้ลอง echo $path; ดูว่าได้อะไร ที่อยู่ไฟล์ถูกต้องไหม

ไม่มีอะไรออกมาเลยครับ

Re: ทำการกด edit ภาพแล้ว ทำยังไงให้ไปทับภาพเดิมหรือลบภาพเดิมครับ

Posted: 19/07/2018 12:15 pm
by tsukasaz
แบบเต็มๆ

Code: Select all

<?php
require_once 'connect.php';

ini_set('display_eror',1);

if (isset($_GET['id'])) {

$sql = "SELECT name_image FROM test WHERE id =".$_GET['id']." ";
$query = mysqli_query($conn,$sql) or die ('Error Query');
$data = mysqli_fetch_assoc($query);
$path = __DIR__.DIRECTORY_SEPARATOR.'logo_img'.DIRECTORY_SEPARATOR.$data['name_image'];
echo $path; exit();
if (file_exists($path) && !empty($data['name_image'])) {
unlink($path);

}
mysqli_query($conn, "Delete FROM test WHERE id =".$_GET['id']."" );
}

$sql = "SELECT * FROM test ";

$query = mysqli_query($conn,$sql) or die ("Error Query");

?>

Re: ทำการกด edit ภาพแล้ว ทำยังไงให้ไปทับภาพเดิมหรือลบภาพเดิมครับ

Posted: 19/07/2018 6:03 pm
by mollyclick
ขอบคุณครับ