π File Manager
π /
/
home
/
u857492117
/
domains
/
mangaldaicollege.org
/
public_html
/
MConnect_app
Dosya DΓΌzenle: Uploadphoto.php
<?php session_start(); include "db.php"; if (!isset($_SESSION['user_id']) || $_SESSION['role'] != "student") { header("Location: login.php"); exit(); } $user_id = $_SESSION['user_id']; // ββ Check file was sent βββββββββββββββββββββββββββββββ if (!isset($_FILES['photo']) || $_FILES['photo']['error'] !== UPLOAD_ERR_OK) { header("Location: studentProfile.php?error=upload_failed"); exit(); } $file = $_FILES['photo']; $tmp = $file['tmp_name']; $size = $file['size']; $mime = mime_content_type($tmp); // ββ Validate type βββββββββββββββββββββββββββββββββββββ $allowed_mime = ['image/jpeg', 'image/jpg', 'image/png', 'image/webp']; if (!in_array($mime, $allowed_mime)) { header("Location: studentProfile.php?error=invalid_type"); exit(); } // ββ Validate size (max 2MB) βββββββββββββββββββββββββββ if ($size > 2 * 1024 * 1024) { header("Location: studentProfile.php?error=too_large"); exit(); } // ββ Create upload directory if not exists βββββββββββββ $upload_dir = "uploads/photos/"; if (!is_dir($upload_dir)) { mkdir($upload_dir, 0755, true); } // ββ Delete old photo if exists ββββββββββββββββββββββββ if (!empty($_SESSION['photo']) && file_exists($_SESSION['photo'])) { unlink($_SESSION['photo']); } // ββ Build unique filename βββββββββββββββββββββββββββββ $ext = match($mime) { 'image/jpeg', 'image/jpg' => 'jpg', 'image/png' => 'png', 'image/webp' => 'webp', default => 'jpg' }; $filename = "user_" . $user_id . "_" . time() . "." . $ext; $path = $upload_dir . $filename; // ββ Move file βββββββββββββββββββββββββββββββββββββββββ if (!move_uploaded_file($tmp, $path)) { header("Location: studentProfile.php?error=save_failed"); exit(); } // ββ Save path to DB βββββββββββββββββββββββββββββββββββ // First make sure the students table has a photo column $conn->query("ALTER TABLE students ADD COLUMN IF NOT EXISTS photo VARCHAR(255) DEFAULT NULL"); $stmt = $conn->prepare("UPDATE students SET photo = ? WHERE user_id = ?"); $stmt->bind_param("si", $path, $user_id); $stmt->execute(); $stmt->close(); // ββ Update session ββββββββββββββββββββββββββββββββββββ $_SESSION['photo'] = $path; header("Location: studentProfile.php?success=photo_updated"); exit(); ?>
πΎ Kaydet
Δ°ptal