MAX_UPLOAD_BYTES) { $err = "Image trop grosse (max ".MAX_UPLOAD_BYTES." bytes)."; } else { $finfo = new finfo(FILEINFO_MIME_TYPE); $mime = $finfo->file($_FILES['image']['tmp_name']); $allowed = [ 'image/png' => 'png', 'image/jpeg' => 'jpg', ]; if (!isset($allowed[$mime])) { $err = "Format interdit. Autorisé: PNG/JPEG."; } else { $ext = $allowed[$mime]; $name = bin2hex(random_bytes(8)) . '.' . $ext; $dest = __DIR__ . '/uploads/' . $name; if (!move_uploaded_file($_FILES['image']['tmp_name'], $dest)) { $err = "Impossible de sauvegarder l'image."; } else { $imagePath = '/uploads/' . $name; } } } } if (!$err) { $posts = load_posts($postsFile); $posts[] = [ 'time' => date('c'), 'ip' => $ip, 'text' => $text, 'img' => $imagePath ]; // plus récents en haut => on affichera en reverse save_posts($postsFile, $posts); $_SESSION[$lastKey] = $now; $msg = "Post publié."; } } } } } $posts = load_posts($postsFile); $posts = array_reverse($posts); // plus récents en haut ?> DevWeb Forum

Mini-forum

Les posts récents apparaissent en premier.
Taille max côté serveur : MB.

Posts

📅 🌐 IP
Upload