برای ایجاد یک وبسایت آپلودسنتر ساده با PHP و MySQL، میتوانید از کد زیر استفاده کنید:
// upload.php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['file'])) {
$file = $_FILES['file'];
$uploadDir = 'uploads/';
$uploadFile = $uploadDir . basename($file['name']);
if (move_uploaded_file($file['tmp_name'], $uploadFile)) {
// ذخیره اطلاعات در دیتابیس
$expiryDate = date('Y-m-d H:i:s', strtotime('+30 days'));
$conn = new mysqli('localhost', 'username', 'password', 'database');
$stmt = $conn->prepare("INSERT INTO files (filename, expiry_date) VALUES (?, ?)");
$stmt->bind_param("ss", $file['name'], $expiryDate);
$stmt->execute();
echo "File uploaded successfully. Download link: <a href='$uploadFile'>$uploadFile</a>";
} else {
echo "File upload failed.";
}
}
-- SQL برای ایجاد جدول
CREATE TABLE files (
id INT AUTO_INCREMENT PRIMARY KEY,
filename VARCHAR(255) NOT NULL,
expiry_date DATETIME NOT NULL
);
برای حذف فایلها پس از 30 روز، میتوانید یک کرون جاب تنظیم کنید که هر روز اجرا شود:
// delete_expired.php
$conn = new mysqli('localhost', 'username', 'password', 'database');
$result = $conn->query("SELECT * FROM files WHERE expiry_date < NOW()");
while ($row = $result->fetch_assoc()) {
unlink('uploads/' . $row['filename']);
$conn->query("DELETE FROM files WHERE id = " . $row['id']);
}