Update updateArticle-controller.php
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user