Forum und email

Upload πολλαπλών αρχείων

Πολλαπλά αρχεία μπορούν να γίνουν upload χρησιμοποιώντας διαφορετικά name για input (ονόματα για είσοδο).

Είναι επίσης δυνατόν να κάνετε upload πολλά αρχεία ταυτόχρονα και να έχετε την πληροφορία οργανωμένη αυτόματα σε arrays για σας. Για να το κάνετε αυτό, πρέπει να χρησιμοποιήσετε την ίδια σύνταξη υποβολής του array στην HTML φόρμα σας, όπως κάνετε με πολλαπλά select και checkbox:

Note: Υποστήριξη για πολλαπλά upload αρχείων προστέθηκε στην 3.0.10.

Example#1 Κάνοντας Upload πολλαπλά αρχεία

<form action="file-upload.php" method="post" enctype="multipart/form-data">
  Send these files:<br>
  <input name="userfile[]" type="file"><br>
  <input name="userfile[]" type="file"><br>
  <input type="submit" value="Send files">
</form>

Όταν η παραπάνω φόρμα υποβληθεί, τα array $_FILES['userfile'], $_FILES['userfile']['name'], και $_FILES['userfile']['size'] θα αρχικοποιηθούν (όπως επίσης στο $HTTP_POST_FILES για PHP εκδόσεις πριν την 4.1.0). Όταν το register_globals είναι ενεργοποιημένο, τα globals για αρχεία που έχουν γίνει upload θα αρχικοποιηθούν επίσης. Καθένα από αυτά θα είανι ένα αριθμημένα indexed array των ανάλογων τιμών για τα αρχεία που έχουν υποβληθεί.

Για παράδειγμα, υποθέστε πως τα αρχεία με ονόματα /home/test/review.html και /home/test/xwp.out υποβάλλονται. Σε αυτή την περίπτωση, το $_FILES['userfile']['name'][0] θα περιέχει την τιμή review.html, και το $_FILES['userfile']['name'][1] θα περιέχει την τιμή xwp.out. Παρόμοια, το $_FILES['userfile']['size'][0] θα περιέχει το μέγεθος του review.html, κ.ο.κ.

Τα $_FILES['userfile']['name'][0], $_FILES['userfile']['tmp_name'][0], $_FILES['userfile']['size'][0], και $_FILES['userfile']['type'][0] επίσης ορίζονται.