مقدمه
آپلود فایلها از طریق PHP یکی از قابلیتهای مهم در توسعه وب است. اما یکی از چالشهای اصلی در این فرآیند، نمایش پیشرفت بارگذاری فایل به کاربر است. در اینجا، ما به بررسی اسکریپتی برای آپلود فایل با نمایش درصد پیشرفت میپردازیم.
ساختار پروژه
برای شروع، نیاز به چند فایل داریم:
- HTML برای بارگذاری فایل
- PHP برای پردازش بارگذاری
- JavaScript برای نمایش درصد پیشرفت
کد HTML
در ابتدا، یک فرم ساده HTML برای بارگذاری فایل ایجاد میکنیم:
```html
<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="UTF-8">
<title>آپلود فایل با پیشرفت</title>
<script src="https://code.jquery.com/jquery-
- 6.0.min.js"></script>
<body>
<form id="uploadForm" enctype="multipart/form-data">
<input type="file" name="file" required>
<button type="submit">بارگذاری</button>
</form>
<progress id="progressBar" value="0" max="100"></progress>
<div id="status"></div>
<script>
$(document).ready(function() {
$('#uploadForm').on('submit', function(e) {
e.preventDefault();
var formData = new FormData(this);
$.ajax({
xhr: function() {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function(evt) {
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total * 100;
$('#progressBar').val(percentComplete);
$('#status').text(Math.round(percentComplete) + '% بارگذاری شده');
}
}, false);
return xhr;
},
type: 'POST',
url: 'upload.php',
data: formData,
processData: false,
contentType: false,
success: function(response) {
$('#status').text('بارگذاری با موفقیت انجام شد!');
},
error: function() {
$('#status').text('خطا در بارگذاری فایل.');
}
});
});
});
</script>
</body>
</html>
```
کد PHP
اکنون میخواهیم کدی برای پردازش بارگذاری فایل ایجاد کنیم. این کد در فایلی به نام `upload.php` قرار میگیرد:
```php
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_FILES['file'])) {
$file = $_FILES['file'];
$uploadDir = 'uploads/';
$uploadFile = $uploadDir . basename($file['name']);
if (move_uploaded_file($file['tmp_name'], $uploadFile)) {
echo "فایل با موفقیت بارگذاری شد.";
} else {
echo "خطا در بارگذاری فایل.";
}
} else {
echo "فایل انتخاب نشده است.";
}
} else {
echo "درخواست نامعتبر است.";
}
?>
```
نتیجهگیری
با اجرای این کد، کاربران میتوانند فایلها را بارگذاری کنند و درصد پیشرفت بارگذاری آنها را مشاهده کنند. این روش نه تنها تجربه کاربری را بهبود میبخشد، بلکه به کاربر اجازه میدهد تا از وضعیت بارگذاری مطلع باشد. بنابراین، با استفاده از این اسکریپت، میتوانید به راحتی فایلها را با PHP بارگذاری کنید و پیشرفت آنها را نمایش دهید.