नीचे कई फ़ाइलें अपलोड करने और उन्हें एक फ़ोल्डर में संग्रहीत करने के चरण दिए गए हैं -
- इनपुट नाम को एक सरणी के रूप में परिभाषित किया जाना चाहिए अर्थात name="inputName[]"
- इनपुट तत्व में एकाधिक ="एकाधिक" या केवल एकाधिक होना चाहिए
- PHP फ़ाइल में, सिंटैक्स "$_FILES['inputName']['param'][index]" का इस्तेमाल करें
- खाली फ़ाइल नामों और पथों की जांच की जानी चाहिए क्योंकि सरणी में खाली तार हो सकते हैं। इसे हल करने के लिए, गिनती से पहले array_filter() का उपयोग करें।
नीचे कोड का एक प्रदर्शन है -
एचटीएमएल
<input name="upload[]" type="file" multiple="multiple" />
PHP
$files = array_filter($_FILES['upload']['name']); //Use something similar before processing files. // Count the number of uploaded files in array $total_count = count($_FILES['upload']['name']); // Loop through every file for( $i=0 ; $i < $total_count ; $i++ ) { //The temp file path is obtained $tmpFilePath = $_FILES['upload']['tmp_name'][$i]; //A file path needs to be present if ($tmpFilePath != ""){ //Setup our new file path $newFilePath = "./uploadFiles/" . $_FILES['upload']['name'][$i]; //File is uploaded to temp dir if(move_uploaded_file($tmpFilePath, $newFilePath)) { //Other code goes here } } }
फ़ाइलें सूचीबद्ध हैं और अपलोड की जाने वाली फ़ाइलों की संख्या की गणना 'total_count' चर में संग्रहीत की जाती है। एक अस्थायी फ़ाइल पथ बनाया जाता है और प्रत्येक फ़ाइल को इस अस्थायी पथ में पुनरावृत्त रूप से रखा जाता है जिसमें एक फ़ोल्डर होता है।