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

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

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

mollyclick
PHP Jr. Member
PHP Jr. Member
Posts: 29
Joined: 09/06/2011 9:46 pm

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

Postby mollyclick » 19/07/2018 11:04 am

ติดตรงขั้นตอน 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');


?>

User avatar
tsukasaz
PHP VIP Members
PHP VIP Members
Posts: 10288
Joined: 18/04/2012 9:39 am

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

Postby 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
Posts: 29
Joined: 09/06/2011 9:46 pm

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

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

?>

User avatar
tsukasaz
PHP VIP Members
PHP VIP Members
Posts: 10288
Joined: 18/04/2012 9:39 am

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

Postby 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
Posts: 29
Joined: 09/06/2011 9:46 pm

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

Postby mollyclick » 19/07/2018 11:41 am

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

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



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

User avatar
tsukasaz
PHP VIP Members
PHP VIP Members
Posts: 10288
Joined: 18/04/2012 9:39 am

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

Postby tsukasaz » 19/07/2018 12:15 pm

แบบเต็มๆ

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

?>
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)



  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - PHP”

Who is online

Users browsing this forum: Google [Bot] and 35 guests