Поэтому у меня есть следующий фрагмент кода, так что, когда я удаляю строку из базы данных, я также удаляю связанные с ней файлы, код работает плавно, и я действительно могу удалить строки из базы данных, но каким-то образом я не могу чтобы удалить файлы из каталога сервера, обратите внимание, что строка "photo_filename" содержит имя типа "photo.png" или так, а также вызов _ DIR _ из файла возвращает путь, подобный этому " ...\Desktop\project/процедуры ", я даже не получаю никаких предупреждений, которые я пробовал повторять aa string, если unlink был успешным, а какая-то другая строка, если не была успешной, но странно, что я не получаю никакого вывода, это как если бы цикл не даже бежать, может кто-то указать мне в правильном направлении на то, что мне не хватает прямо здесь. Спасибо
try {
$db->beginTransaction(); // Begin transaction
$query = "DELETE FROM properties "
. " WHERE property_id = :property_id"; // Delete requested property.
$stmt = $db->prepare($query);
$stmt->bindParam(":property_id", $property["property_id"], PDO::PARAM_INT);
$stmt->execute();
$query = "SELECT * FROM photos "
. " WHERE property_id = :property_id";
$stmt = $db->prepare($query);
$stmt->bindParam(":property_id", $property["property_id"], PDO::PARAM_INT);
$stmt->execute();
foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $photo) {
try {
unlink(__DIR__ . "/../img/" . $photo["image_filename"])
} catch (Exception $e) {
throw $e;
}
}
$query = "DELETE FROM photos "
. " WHERE property_id = :property_id";
$stmt = $db->prepare($query);
$stmt->bindParam(":property_id", $property["property_id"], PDO::PARAM_INT);
$stmt->execute();
$db->commit();
} catch (Exception $e) { // If there is a problem
$db->rollBack(); //If there was a problem undo the whole attempt to insert
$session->getFlashBag()->add("error", "Hubo un problema" . $e->getMessage()); // Display a message
redirect("/show.php?id=".$property_id); // And redirect
exit;
}
Я только что осознал свою тупую ошибку, поэтому таблица "свойств" была привязана к таблице "фотографий", поэтому, когда я начал транзакцию и удалил свойство из таблицы, связанные с ней фотографии также были автоматически удалены, поэтому, когда я выбрал и зациклил таблица фотографий, чтобы получить файлы там не было, оставив это здесь на всякий случай, когда кто-то сталкивается с чем-то похожим, спасибо вам, ребята, за ответ.