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); $cleanedTags = implode(',', $cleanedTags);
} }
// ----------------- Base64-Bilder speichern ----------------- // --------------------------------------- Base64-Bilder speichern ---------------------------------------------
$blocks = json_decode($content, true); $blocks = json_decode($content, true);
$uploadDir = __DIR__ . '/../../uploads/'; $uploadDir = __DIR__ . '/../../uploads/';
@@ -77,23 +77,35 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") {
mkdir($uploadDir, 0755, true); 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'])) { if (isset($_POST['deleted_images'])) {
$deletedImages = json_decode($_POST['deleted_images'], true); $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)) { if (is_array($deletedImages)) {
foreach ($deletedImages as $imagePath) { 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); $filename = basename($imagePath);
$fullDeletePath = $uploadDir . $filename; $fullDeletePath = $uploadDir . $filename;
if (file_exists($fullDeletePath) && is_file($fullDeletePath)) { // Debugging & Löschen:
unlink($fullDeletePath); 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)) { if (is_array($blocks)) {
foreach ($blocks as &$block) { foreach ($blocks as &$block) {
// Prüfen, ob der Block ein Bild ist und ein NEUES Bild (Base64-Format) enthält // Prüfen, ob der Block ein Bild ist und ein NEUES Bild (Base64-Format) enthält