একাধিক ফাইল আপলোড করে ফোল্ডারে সংরক্ষণের ধাপগুলো নিচে দেওয়া হলো:
- ইনপুটের নাম অবশ্যই অ্যারে হিসেবে ডিক্লেয়ার করতে হবে:
name="inputName[]" - ইনপুট এলিমেন্টে
multiple="multiple"বা শুধুmultipleথাকতে হবে - PHP ফাইলে সিনট্যাক্স ব্যবহার করুন:
$_FILES['inputName']['param'][index] - খালি ফাইল নাম ও পাথ চেক করতে হবে কারণ অ্যারেতে খালি স্ট্রিং থাকতে পারে। এটি সমাধানের জন্য প্রসেস করার আগে
array_filter()ব্যবহার করুন।
নিচে কোডের উদাহরণ দেওয়া হলো:
HTML
<input name="upload[]" type="file" multiple="multiple" />
PHP
$files = array_filter($_FILES['upload']['name']); // ফাইল প্রসেস করার আগে এই तरहের কিছু ব্যবহার করুন। // আপলোড করা ফাইলগুলোর সংখ্যা গণনা করুন $total_count = count($_FILES['upload']['name']); // প্রতিটি ফাইল লুপ করে যান for( $i=0 ; $i < $total_count ; $i++ ) { // টেম্প ফাইল পাথ পান $tmpFilePath = $_FILES['upload']['tmp_name'][$i]; // ফাইল পাথ থাকতে হবে if ($tmpFilePath != ""){ // নতুন ফাইল পাথ সেটআপ করুন $newFilePath = "./uploadFiles/" . $_FILES['upload']['name'][$i]; // ফাইল টেম্প ডিরেক্টরিতে আপলোড হবে if(move_uploaded_file($tmpFilePath, $newFilePath)) { // অন্যান্য কোড এখানে যাবে } } }
ফাইলগুলো লিস্ট করা হয় এবং আপলোড করার জন্য ফাইল সংখ্যা total_count ভেরিয়েবলে সংরক্ষিত হয়। একটি টেম্পোরারি ফাইল পাথ তৈরি হয় এবং প্রতিটি ফাইল এই টেম্পোরারি প্যাথে ধাপে ধাপে রাখা হয় যা একটি ফোল্ডার ধারণ করে।