مدیریت فایل با استفاده از PHP-MySQLi
مدیریت فایل یک بخش کلیدی در بسیاری از وبسایتها و برنامههای کاربردی است. از آنجایی که PHP بهعنوان یک زبان سرور-سمت شناخته میشود، میتوان از آن برای تعامل با دادهها و فایلها استفاده کرد. در اینجا، ما به بررسی چگونگی مدیریت فایلها با استفاده از PHP و MySQLi میپردازیم.
۱. بارگذاری فایلها
برای بارگذاری فایلها، ابتدا فرم HTML زیر را ایجاد میکنیم:
```html
<form action="upload.php" method="post" enctype="multipart/form-data">
انتخاب فایل: <input type="file" name="fileToUpload">
<input type="submit" value="بارگذاری فایل">
</form>
```
در اینجا، کاربر میتواند فایلی را انتخاب کند. سپس به فایل `upload.php` ارسال میشود.
۲. پردازش فایل در PHP
در فایل `upload.php`، میتوانید کد زیر را برای پردازش فایل بارگذاریشده اضافه کنید:
```php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$fileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
// بررسی اینکه آیا فایل واقعاً یک تصویر است یا خیر
if (isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if ($check !== false) {
echo "فایل یک تصویر است.";
$uploadOk = 1;
} else {
echo "فایل یک تصویر نیست.";
$uploadOk = 0;
}
}
// بررسی وجود فایل
if (file_exists($target_file)) {
echo "متاسفانه، فایل از قبل وجود دارد.";
$uploadOk = 0;
}
// بررسی اندازه فایل
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "متاسفانه، فایل شما خیلی بزرگ است.";
$uploadOk = 0;
}
// فرمتهای مجاز
if ($fileType != "jpg" && $fileType != "png" && $fileType != "jpeg" && $fileType != "gif") {
echo "متاسفانه، فقط فایلهای JPG، JPEG، PNG و GIF مجاز هستند.";
$uploadOk = 0;
}
// در نهایت، اگر همه چیز خوب بود، فایل را بارگذاری کنید
if ($uploadOk == 1) {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "فایل ". htmlspecialchars(basename($_FILES["fileToUpload"]["name"])) . " با موفقیت بارگذاری شد.";
} else {
echo "متاسفانه، مشکلی در بارگذاری فایل شما وجود داشت.";
}
}
```
۳. ذخیره اطلاعات در پایگاه داده
حال میخواهیم اطلاعات مربوط به فایل بارگذاریشده را در پایگاه داده ذخیره کنیم. فرض کنید که پایگاه داده شما دارای جدولی به نام `files` است که شامل ستونهای `id`, `filename`, و `uploaded_at` میباشد.
```php
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO files (filename, uploaded_at) VALUES (?, NOW())";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", basename($_FILES["fileToUpload"]["name"]));
if ($stmt->execute()) {
echo "اطلاعات فایل در پایگاه داده ذخیره شد.";
} else {
echo "خطا در ذخیره اطلاعات: " . $conn->error;
}
$stmt->close();
$conn->close();
```
۴. نمایش فایلها
برای نمایش فایلها، میتوانید از کد زیر استفاده کنید:
```php
$sql = "SELECT filename FROM files";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "<img src='uploads/" . $row["filename"] . "' width='100' height='100'>";
}
} else {
echo "هیچ فایلی موجود نیست.";
}
```
نتیجهگیری
با استفاده از این روش، شما میتوانید فایلها را بارگذاری کنید، اطلاعات آنها را در پایگاه داده ذخیره کنید و در نهایت آنها را نمایش دهید. مدیریت فایلها میتواند بهراحتی با PHP و MySQLi انجام شود. این فرآیند به شما امکان میدهد تا فایلها را بهطور مؤثر مدیریت کنید.