تمرین برنامه نویسی؛ با کدبزن!

منبع جامع سوالات و تمرینات برنامه نویسی

0

آپلود سنتر

Amirhn آسان 1024/ دانلود 236 بازدید

یک وبسایت آپلودسنتر برنامه نویسی کنید که کاربران بتوانند فایل های خود را آپلود کرده و لینک دانلود مستقیم آن را دریافت کنند. هر لینک و فایل مربوط به آن باید بعد از 30 روز حذف شود.

1 جواب

نمیتونم این تمرین رو حل کنم!
0
CREATE TABLE uploads (
    id INT AUTO_INCREMENT PRIMARY KEY,
    file_name VARCHAR(255) NOT NULL,
    file_path VARCHAR(255) NOT NULL,
    upload_date DATETIME DEFAULT CURRENT_TIMESTAMP,
    expiry_date DATETIME NOT NULL
);
3. پیاده‌سازی بخش آپلود
a. فرم آپلود
یک فرم HTML ساده برای آپلود فایل‌ها ایجاد کنید:

html
<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file" required>
    <input type="submit" value="Upload">
</form>
b. کد PHP برای آپلود فایل
در فایل upload.php، کد زیر را برای پردازش فایل آپلود شده بنویسید:

php
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["file"]["name"]);
$expiry_date = date('Y-m-d H:i:s', strtotime('+30 days'));

if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
    // ذخیره اطلاعات در پایگاه داده
    $conn = new mysqli("localhost", "username", "password", "database");
    $stmt = $conn->prepare("INSERT INTO uploads (file_name, file_path, expiry_date) VALUES (?, ?, ?)");
    $stmt->bind_param("sss", $_FILES["file"]["name"], $target_file, $expiry_date);
    $stmt->execute();
    $stmt->close();
    $conn->close();

    echo "The file has been uploaded. Download link: <a href='$target_file'>$target_file</a>";
} else {
    echo "Sorry, there was an error uploading your file.";
}
?>
4. حذف فایل‌های منقضی
برای حذف فایل‌های منقضی، می‌توانیم یک اسکریپت PHP بنویسیم که به صورت دوره‌ای اجرا شود. این اسکریپت باید فایل‌های منقضی را از پایگاه داده و سرور حذف کند.

php
<?php
$conn = new mysqli("localhost", "username", "password", "database");
$sql = "SELECT file_path FROM uploads WHERE expiry_date < NOW()";
$result = $conn->query($sql);

while ($row = $result->fetch_assoc()) {
    // حذف فایل از سرور
    unlink($row['file_path']);
}

// حذف رکوردها از پایگاه داده
$sql = "DELETE FROM uploads WHERE expiry_date < NOW()";
$conn->query($sql);

$conn->close();
?>
5. زمانبندی اسکریپت
Haker121 دانلود php
<< صفحه قبل 1 صفحه بعد >>

ارسال جواب

/* کداتو توی این بخش بنویس
فرقی نمیکنه چه زبان برنامه نویسی باشه، همرو پشتیبانی میکنیم :)
البته قبلش این سه خط رو پاک کن */
                    
  • لطفا جواب های تکراری ارسال نکن
  • قبل از ارسال، جوابت رو داخل یک کد ادیتور مثل vscode بنویس و بعد اینجا Paste کن
  • جواب های ارسالی، پس از بررسی کوتاهی، ویرایش میشن و در سایت نمایش داده میشن
  • ارسال جواب حق مادی یا معنوی برای ارسال کننده ایجاد نمیکند و تمام حقوق برای سایت کدبزن محفوظ است

تمرینات مرتبط

تشخیص با استفاده از هوش مصنوعی
×
×
بستن