اطلاع از آخرین آپدیت ها ، آموزش ها و تخفیف های ویژه در
تلگرام اینستاگرام
no-img
پارسی پروگرامر

آپلود چندین فایل همزمان در php با Fine Uploader - پارسی پروگرامر


پارسی پروگرامر
ads

ادامه مطلب

آپلود چندین فایل همزمان در php با Fine Uploader
zip
انتشار:۱۳۹۸/۰۷/۱۱
بروز رسانی:۱۳۹۸/۰۷/۱۱

آپلود چندین فایل همزمان در php با Fine Uploader


در این آموزش php قصد داریم شیوه آپلود چندین فایل همزمان در php با Fine Uploader رو به شما آموزش دهیم.برای این کار ما از کتابخانه Fine Uploader جاوا اسکریپت که بصورت متن باز و رایگان است استفاده می کنیم.

همچنین این کتابخانه یک نوار پیشرفت آپلود و پیش نمایش تصاویر را نمایش می دهد.

با استفاده از این کتابخانه می توانیم گزینه های زیادی برای اعتبارسنجی اعمال کنیم مانند قابلیت حذف فایل , مکث و ادامه , اجازه تکه تکه کردن و غیره. در این مثال از آپلود چندین فایل همزمان در php با Fine Uploader از امکانات بسیار ساده کتابخانه برای آپلود استفاده کردیم

 

آپلود چندین فایل همزمان در php با Fine Uploader

ساخت فرم HTML برای آپلود چندین فایل همزمان با Fine Uploader

آخرین نسخه FineUploader را دانلود کرده و فایل های js , css مورد نیاز را در صفحه html خود فراخوانی کنید. من یک قالب گالری را که توسط این کتابخانه ارایه شده ساختم .

در این اسکریپت , من در گزینه endpoint فایل php را برای مدیریت ادامه مراحل آپلود فایل مشخص کردم . این قالب گالری و کلاس آپلود فایل در مثال FineUploader وجود دارند .

<html>
<head>
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link href="vendor/fine-uploader/fine-uploader-gallery-min.css" rel="stylesheet">
	<script src="vendor/fine-uploader/fine-uploader-min.js"></script>		
	<?php require_once("vendor/fine-uploader/templates/gallery.html"); ?>
	<title>Multiple File Upload using FineUploader</title>
	<style>
	body {width:600px;font-family:calibri;}
	</style>
</head>
<body>
    <div id="file-drop-area"></div>
    <script>
        var multiFileUploader = new qq.FineUploader({
            element: document.getElementById("file-drop-area"),
            request: {
                endpoint: 'view/fine-uploader/endpoint.php'
            }
        });
    </script>
</body>
</html>

فایل php مدیریت آپلود فایل

فایل endpoint.php درخواست را دریافت و کلاس مورد نظر را مطابق درخواست فراخوانی می کند . که یک شی (object) از کلاس UploadHandler() با مقادیر پیشفرض می سازد . در اینجا ما نوع فایل ارسال شده از طریق پارامتر های ارسالی جاواسکریپت بررسی می کنیم .

<?php
// Include the upload handler class
require_once "handler.php";
$uploader = new UploadHandler();</p>
<p dir="ltr">// Specify the list of valid extensions, ex. array("jpeg", "xml", "bmp")
$uploader->allowedExtensions = array(); // all files types allowed by default</p>
<p dir="ltr">// Specify max file size in bytes.
$uploader->sizeLimit = null;</p>
<p dir="ltr">// Specify the input name set in the javascript.
$uploader->inputName = "qqfile"; // matches Fine Uploader's default inputName value by default</p>
<p dir="ltr">// If you want to use the chunking/resume feature, specify the folder to temporarily save parts.
$uploader->chunksFolder = "../../data/chunks";</p>
<p dir="ltr">$method = get_request_method();</p>
<p dir="ltr">function get_request_method() {
global $HTTP_RAW_POST_DATA;</p>
<p dir="ltr">if(isset($HTTP_RAW_POST_DATA)) {
parse_str($HTTP_RAW_POST_DATA, $_POST);
}</p>
<p dir="ltr">if (isset($_POST["_method"]) && $_POST["_method"] != null) {
return $_POST["_method"];
}</p>
<p dir="ltr">return $_SERVER["REQUEST_METHOD"];
}</p>
<p dir="ltr">if ($method == "POST") {
header("Content-Type: text/plain");</p>
<p dir="ltr">// Assumes you have a chunking.success.endpoint set to point here with a query parameter of "done".
// For example: /myserver/handlers/endpoint.php?done
if (isset($_GET["done"])) {
$result = $uploader->combineChunks("../../data");
}
// Handles upload requests
else {
// Call handleUpload() with the name of the folder, relative to PHP's getcwd()
$result = $uploader->handleUpload("../../data");</p>
<p dir="ltr">// To return a name used for uploaded file you can use the following line.
$result["uploadName"] = $uploader->getUploadName();
}</p>
<p dir="ltr">echo json_encode($result);
}
// for delete file requests
else if ($method == "DELETE") {
$result = $uploader->handleDelete("../../data");
echo json_encode($result);
}
else {
header("HTTP/1.0 405 Method Not Allowed");
}
?>

دیدید به چه راحتی توانستیم یک آپلود چندگانه فایل در php با Fine Uploader را پیاده سازی کنیم . این کتابخانه آپشن های بسیار متنوع و جالبی دارد که با بررسی داکیومنت آن می توانید به دلخواه در پروژه هایی که می نویسید پیاده سازی کنید .

کدهای کامل پروژه آپلود چندگانه فایل در php با Fine Uploader را می توانید از باکس دانلود , دریافت کنید.

هر گونه مشکلی در پیاده سازی کدهای آپلود چندگانه فایل در php با Fine Uploader داشتید ، از قسمت نظرات اقدام کنید . سریعا ، پاسخگوی سوالات شما هستیم .

موفق و پیروز باشید.



لینک کوتاه مطلب:

https://parsprog.ir/?p=2058

ads

درباره نویسنده

فارغ التحصیل مهندسی تکنولوژی نرم افزار، علاقه مند به برنامه نویسی تحت وب و اندروید

مصطفی اشرف زاده 44 نوشته در پارسی پروگرامر دارد .مشاهده تمام نوشته های

دیدگاه ها


دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

3 × 5 =