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

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

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

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

?>

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

โดย mollyclick » 19/07/2018 11:41 am

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

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

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

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

โดย tsukasaz » 19/07/2018 11:31 am

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

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

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

?>

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

โดย tsukasaz » 19/07/2018 11:19 am

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

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

ทำการกด 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');


?>

ข้างบน