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

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

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

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

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

โพสต์โดย mollyclick » 19/07/2018 11:04 am

ติดตรงขั้นตอน 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
โพสต์: 8239
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

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

โพสต์โดย tsukasaz » 19/07/2018 11:19 am

ในเงื่อนไขที่จะทำการอัพเดทข้อมูลรูปภาพ มันเช็คจาก 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
โพสต์: 28
ลงทะเบียนเมื่อ: 09/06/2011 9:46 pm

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

โพสต์โดย mollyclick » 19/07/2018 11:23 am

ผมทำแบบนี้มันลบได้แต่ใน 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
โพสต์: 8239
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

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

โพสต์โดย tsukasaz » 19/07/2018 11:31 am

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

ต่อจากบรรทัดที่ $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
โพสต์: 28
ลงทะเบียนเมื่อ: 09/06/2011 9:46 pm

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

โพสต์โดย mollyclick » 19/07/2018 11:41 am

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

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



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

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

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

โพสต์โดย tsukasaz » 19/07/2018 12:15 pm

แบบเต็มๆ

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

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



  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ย้อนกลับไปยัง

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

กำลังดูบอร์ดนี้: 23 และ บุคคลทั่วไป 0 ท่าน