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

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

mollyclick
PHP Jr. Member
PHP Jr. Member
โพสต์: 29
ลงทะเบียนเมื่อ: 09/06/2011 9:46 pm

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

โพสต์ที่ยังไม่ได้อ่าน โดย mollyclick »

ติดตรงขั้นตอน edit ภาพครับ มันไม่ได้ลบภาพเก่าไปด้วย
ทำให้มีภาพใน folder เยอะครับ
อยากให้ลบด้วยต้องทำไงครับ

โค้ด: เลือกทั้งหมด

<?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');


?>
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 22100
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย tsukasaz »

ในเงื่อนไขที่จะทำการอัพเดทข้อมูลรูปภาพ มันเช็คจาก id ที่ส่งค่า POST มา ให้เอา id ไปค้นหาข้อมูลในตาราง ดึงชื่อไฟล์รูปภาพเก่า เอามาลบไฟล์ก่อน

ค่อยทำส่วนอัพเดทชื่อไฟล์รูปภาพ
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
mollyclick
PHP Jr. Member
PHP Jr. Member
โพสต์: 29
ลงทะเบียนเมื่อ: 09/06/2011 9:46 pm

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

โพสต์ที่ยังไม่ได้อ่าน โดย 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");

?>
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 22100
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย tsukasaz »

เช็คที่อยู่ไฟล์หรือยังครับ

ต่อจากบรรทัดที่ $path = __DIR__.DIRECTORY_SEPARATOR.'logo_img'.DIRECTORY_SEPARATOR.$data['name_image'];
ให้ลอง echo $path; ดูว่าได้อะไร ที่อยู่ไฟล์ถูกต้องไหม
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
mollyclick
PHP Jr. Member
PHP Jr. Member
โพสต์: 29
ลงทะเบียนเมื่อ: 09/06/2011 9:46 pm

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

โพสต์ที่ยังไม่ได้อ่าน โดย mollyclick »

tsukasaz เขียน:เช็คที่อยู่ไฟล์หรือยังครับ

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

ไม่มีอะไรออกมาเลยครับ
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 22100
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย tsukasaz »

แบบเต็มๆ

โค้ด: เลือกทั้งหมด

<?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");

?>
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 51