-Nachrichten Senden -Design verbessert -Kleine Verbesserungen Signed-off-by: erik <micheler@steinbeis.schule>
52 lines
No EOL
1.7 KiB
PHP
52 lines
No EOL
1.7 KiB
PHP
<?php
|
|
|
|
include '../db_connect.php';
|
|
session_start();
|
|
|
|
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
|
$user_id = $_SESSION['user_id'];
|
|
$text_content = $_POST['text_content'];
|
|
$image_path = NULL;
|
|
|
|
if (!empty($_FILES['image']['name'])) {
|
|
$upload_dir = "../posts/"; // Server-Seitiges Upload-Verzeichnis
|
|
$target_dir = "posts/"; // Pfad für die Datenbank
|
|
|
|
function generateUniqueFilename($directory, $filename) {
|
|
$fileInfo = pathinfo($filename);
|
|
$baseName = $fileInfo['filename'];
|
|
$extension = isset($fileInfo['extension']) ? '.' . $fileInfo['extension'] : '';
|
|
$counter = 1;
|
|
$newFilename = $filename;
|
|
|
|
while (file_exists($directory . DIRECTORY_SEPARATOR . $newFilename)) {
|
|
$newFilename = $baseName . "_" . $counter . $extension;
|
|
$counter++;
|
|
}
|
|
|
|
return $newFilename;
|
|
}
|
|
|
|
// Generiere einzigartigen Dateinamen
|
|
$original_filename = $user_id . "_" . basename($_FILES['image']['name']);
|
|
$unique_filename = generateUniqueFilename($upload_dir, $original_filename);
|
|
$target_file = $upload_dir . $unique_filename;
|
|
|
|
// Datei hochladen
|
|
if (move_uploaded_file($_FILES['image']['tmp_name'], $target_file)) {
|
|
$image_path = $target_dir . $unique_filename;
|
|
}
|
|
}
|
|
|
|
// Daten in die Datenbank speichern
|
|
$stmt = $pdo->prepare("INSERT INTO posts (user_id, text_content, image_path) VALUES (:user_id, :text_content, :image_path)");
|
|
$stmt->execute([
|
|
':user_id' => $user_id,
|
|
':text_content' => $text_content,
|
|
':image_path' => $image_path
|
|
]);
|
|
|
|
header("Location: ../index.php");
|
|
exit();
|
|
}
|
|
?>
|