simple world Ответов: 1

Php удалить файл из папки


Привет,
Как я могу удалить изображение из папки images, Если я не знаю его имени?
У меня есть проект, когда на странице администратора можно загружать и удалять изображения.
Но мой файл удаления удаляет только путь изображений из базы данных, как я могу также удалить само изображение из папки?
Ниже приведен мой код.
Спасибо.

Что я уже пробовал:

<?php
  include("connect.php");

	$id =$_REQUEST['id'];


	// sending query
	mysqli_query($conn ,"DELETE FROM images WHERE id = '$id'")
	or die(mysqli_error());

  mysqli_query($conn ,"DELETE FROM profile_image WHERE id = '$id'")
	or die(mysqli_error());

  $name = mysqli_query($conn ,"SELECT * FROM images WHERE id = '$id'")
	or die(mysqli_error());

  $row= mysqli_fetch_array($name);
  $r = $row['image'];

  $path = "admin/images/$r";
  if(!unlink($path))
  {
    echo "Not Working";
  }
  else {
    header("Location: images.php?working");
  }


	header("Location: images.php");
?>

1 Ответов

Рейтинг:
9

Afzaal Ahmad Zeeshan

Цитата:
удалить файл удаляет только путь к изображениям из базы данных
Перед выполнением этой команды вам также необходимо удалить файл с веб-сервера. На данный момент у вас есть путь к файлу, поэтому просто передайте его функции PHP, которая удаляет файл. Я бы предложил сделать это в первую очередь,
$path = "admin/images/$r";
if(!unlink($path))
{
    echo "Not Working";
}
else {
    // execute the command from database now.
}
Как только эта строка будет выполнена, Вы потеряете путь к файлу и больше не сможете удалить файл—если только вы не удалите все из каталога или не захватите его из резервных копий базы данных; или даже глупое решение, или удаление всего, что не имеет ссылки в базе данных, слишком плохое решение!

РНР: отменить связь - механическая[^]


simple world

Здравствуйте, спасибо, что ответили.
Я сделал то, что ты сказал.
И вот результат.
разорвать связь(admin/images/50.jpg): нет такого файла или каталога в /opt/lampp/htdocs/test/admin/delete.php на линии 20
не работать
Я получаю ошибку, и самое смешное, что путь правильный.
В чем может быть проблема?

simple world

Эй, извини, что путь был неправильным.
Я починил его, и он отлично работал.
Большое спасибо.
Я принял твой ответ как решение.