Как удалить изображение из папки и базы данных - PullRequest
0 голосов
/ 10 марта 2019

Я показываю данные из базы данных MySQL в таблице с кодом ниже

<td><?php echo $row['name']; ?></td>
			<td><?php echo $row['image']; ?></td>
			<a title="Delete" href="deletestudent.php?id=<?php echo $row['id']; ?>"><button class="btn btn-danger btn-mini"> Delete</button></a></td>
первая строка показывает имя изображения, а вторая показывает изображение, которое находится в каталоге с именем images.

Я могу удалить строку с кодом ниже

<?php
	include('../connect.php');
	$id=$_GET['id'];
	$result = $db->prepare("DELETE FROM student WHERE id= :memid");
	$result->bindParam(':memid', $id);
	$result->execute();
	
	header ("location: students.php");
?>
Но как я могу также удалить изображение из папки изображений.

Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 10 марта 2019

Перед удалением изображения из базы данных вы должны сначала удалить изображение, а затем, если оно успешно, удалить изображение из базы данных.

Вы можете удалить изображение с помощью функции unlink php. перед этим убедитесь, что файл существует:

<?php
    include('../connect.php');
    $id=$_GET['id'];

       // you must first retrieve data from database to get the image path that 
       //you have been saved in db

   $stmt = $dbh->prepare("SELECT * FROM mytable WHERE id= :memid LIMIT 1"); 
   $stmt->bindParam(':memid', $id);
   $stmt->execute(); 

   $record = $stmt->fetch();

  //get image path
  $imageUrl = $_DIR_.'/images/uploads/profile/'.$record['Image_name'];

  //check if image exists
  if(file_exists($imageUrl)){

    //delete the image
    unlink($imageUrl);

    //after deleting image you can delete the record
    $result = $db->prepare("DELETE FROM student WHERE id= :memid");
    $result->bindParam(':memid', $id);
    $result->execute();
    }
    header ("location: students.php");
?>
0 голосов
/ 10 марта 2019

Вы можете использовать функцию unlink() для удаления изображения из каталога.

Если ваше изображение - это тот же каталог скрипта, а имя файла находится в переменной $id, вы можете удалить его с помощью unlink($id).

Если ваше изображение находится в другом каталоге, вы можете использовать

$fileid = 'path/'.$id
unlink($fileid)

Здесь path/ - это местоположение каталога, в котором хранится изображение.

0 голосов
/ 10 марта 2019

Вы можете удалить изображение из файловой системы, используя:

unlink('path/to/file.jpg');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...