Update updateArticle-controller.php

This commit is contained in:
2026-06-14 22:47:05 +02:00
parent 8ed7f7ec8f
commit e7ece1ed13
+18 -6
View File
@@ -69,7 +69,7 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
$cleanedTags = implode(',', $cleanedTags);
}
// ----------------- Base64-Bilder speichern -----------------
// --------------------------------------- Base64-Bilder speichern ---------------------------------------------
$blocks = json_decode($content, true);
$uploadDir = __DIR__ . '/../../uploads/';
@@ -77,23 +77,35 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
mkdir($uploadDir, 0755, true);
}
// --- Verwaiste Bilder löschen über die JS-Löschliste:
// ----------------- Gelöschte Bilder über die JS-Löschliste entfernen -----------------
if (isset($_POST['deleted_images'])) {
$deletedImages = json_decode($_POST['deleted_images'], true);
// Wir ermitteln den physisch echten, absoluten Pfad zum uploads-Ordner auf der Festplatte
$uploadDir = realpath(__DIR__ . '/../../uploads') . DIRECTORY_SEPARATOR;
if (is_array($deletedImages)) {
foreach ($deletedImages as $imagePath) {
// Sicherheit: Nur den reinen Dateinamen filtern (Schutz vor Manipulation)
// Nur den reinen Dateinamen heraustrennen (z.B. img_65a123.jpg)
$filename = basename($imagePath);
$fullDeletePath = $uploadDir . $filename;
if (file_exists($fullDeletePath) && is_file($fullDeletePath)) {
unlink($fullDeletePath);
// Debugging & Löschen:
if (file_exists($fullDeletePath)) {
// Versuchen zu löschen. Wenn es fehlschlägt, Fehlermeldung erzwingen
if (!@unlink($fullDeletePath)) {
$error = error_get_last();
die("Datei existiert, aber PHP darf sie nicht löschen! Grund: " . $error['message']);
}
} else {
// Wenn PHP die Datei an diesem Pfad nicht findet, brechen wir zum Debuggen ab
// die("PHP findet die Datei nicht unter dem Pfad: " . $fullDeletePath);
}
}
}
}
// --- NEU hinzugefügte Base64-Bilder:
// ----------------------- NEU hinzugefügte Base64-Bilder: --------------------------
if (is_array($blocks)) {
foreach ($blocks as &$block) {
// Prüfen, ob der Block ein Bild ist und ein NEUES Bild (Base64-Format) enthält