Question : Manipulant des téléchargements de dossier de multipe using le PHP (using le Javascript multifichier de téléchargement de jquery)

J'emploie le manuscrit multifichier du téléchargement de Jquery sur un emplacement que je développe : le rel= " nofollow " de " _blank " de target= de " http://www.fyneworks.com/jquery/multiple-file-upload/ " de href= du

manuscrit du query/multiple-file-upload/

The de http://www.fyneworks.com/j me permet de télécharger les dossiers multiples PAR champ de téléchargement de dossier, et était très facile à mettre en application.  Cependant, aucun exemple n'est fourni sur la façon dont manipuler les téléchargements de dossiers du côté de serveur, et c'est où je cours dedans à une certaine difficulté. (J'emploie le PHP, le BTW) des champs sous la forme tous de téléchargement de dossier multiple du

My sont appelés comme suit : les nombres du

The du

upload_55
upload_56
upload_57
(etc.) que j'appose à chaque corrélation de nom de champ à l'identification de disque de base de données évalue.  Je passe également cette liste de valeurs d'identification (comme rangée) au traiteur de forme dans un domaine caché de forme :

echo de docs_list » de " id= " de docs_list " de " name= ".  base64_encode (fabriquer en série ($assigneddocslist)). « « /> » ;

Then. du côté de traiteur de forme, je fais ce qui suit : le

//UNSERIALIZE l'ARRAY
$docs_list = unserialize (base64_decode ($_POST [« docs_list »]) le ) ; BOUCLE du

//PAR LE TÉLÉCHARGEMENT FIELDS
foreach ($docs_list de DOSSIER comme $document_id) {
$upload_field_name = « upload_ ». $document_id ;
$tmpName = $_FILES [$upload_field_name] [« tmp_name »] ; le

This du
} est dans la mesure où j'ai obtenu.  Plus spécifiquement, j'ai figuré dehors comment recréer les noms de champ de forme et rechercher leurs valeurs sur le traiteur de forme dégrossir.  Cependant,… en ce moment, je peux seulement rechercher le premier élément dans la rangée de $_FILES pour chaque champ de téléchargement de dossier.  le

How peut j'adapter mon code de sorte que si des dossiers multiples ont été téléchargés pour un champ de téléchargement de dossier simple. Je pourrais rechercher tous les noms de fichier (et exécuter retitrer et déplacer les opérations sur chacune de elles) ?   N'importe quelle aide serait appreciated.

Thanks !
- Yvan


class= de

Réponse : Manipulant des téléchargements de dossier de multipe using le PHP (using le Javascript multifichier de téléchargement de jquery)

Ceci peut prendre un certain travail pour l'adapter au jQuery, mais je peux te montrer comment un téléchargement simple de HTML fonctionne quand vous avez les dossiers multiples du client.
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
25 :
26 :
27 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
41 :
42 :
43 :
44 :
45 :
46 :
47 :
48 :
49 :
50 :
51 :
52 :
53 :
54 :
55 :
56 :
57 :
58 :
59 :
60 :
61 :
62 :
63 :
64 :
65 :
66 :
67 :
68 :
69 :
70 :
71 :
72 :
73 :
74 :
75 :
76 :
77 :
78 :
79 :
80 :
81 :
82 :
83 :
84 :
85 :
86 :
87 :
88 :
89 :
90 :
91 :
92 :
93 :
94 :
95 :
96 :
97 :
98 :
99 :
100 :
101 :
102 :
103 :
104 :
105 :
106 :
107 :
108 :
109 :
110 :
111 :
112 :
113 :
114 :
115 :
116 :
117 :
118 :
119 :
120 :
121 :
122 :
123 :
124 :
125 :
126 :
127 :
128 :
129 :
130 :
131 :
132 :
133 :
134 :
135 :
136 :
137 :
138 :
139 :
140 :
141 :
142 :
143 :
144 :
145 :
146 :
147 :
148 :
149 :
150 :
151 :
152 :
153 :
154 :
155 :
156 :
157 :
158 :
159 :
160 :
161 :
162 :
163 :
164 :
165 :
166 :
167 :
168 :
169 :
170 :
171 :
172 :
173 :
174 :
175 :
 « Succès !  »,
    1 => « le dossier téléchargé dépasse la directive d'upload_max_filesize dans php.ini »,
    le => 2 « le dossier téléchargé dépasse la directive de MAX_FILE_SIZE qui a été spécifiée sous la forme de HTML »,
    le => 3 « le dossier téléchargé seulement a été partiellement téléchargé »,
    le => 4 « aucun dossier a été téléchargé »,
    => 6 « manquant une chemise provisoire »,
    le => 7 « ne peut pas écrire le dossier au disque »
) ;




// S'IL Ne Y A RIEN DANS $_POST, A MIS VERS LE HAUT LA FORME POUR L'ENTRÉE
si (vider ($_POST))
{
    ? >
    

Dossiers de téléchargement

« method= " POTEAU " >

Trouver les dossiers que vous voulez télécharger et cliquer le bouton de « téléchargement » ci-dessous.


\n"; } ?>
Vérifier cette boîte pour recouvrir les dossiers existants. Results: File Upload\n"; // ACTIVATE THIS TO SEE WHAT IS COMING THROUGH // echo "
"; var_dump($_FILES); var_dump($_POST); echo "
\n"; // ITERATE OVER THE CONTENTS OF $_FILES foreach ($_FILES as $my_uploaded_file) { // SKIP OVER EMPTY SPOTS - NOTHING UPLOADED $error_code = $my_uploaded_file["error"]; if ($error_code == 4) continue; // SYNTHESIZE THE NEW FILE NAME $f_type = trim(strtolower(end (explode( '.', basename($my_uploaded_file['name'] ))))); $f_name = trim(strtolower(current(explode( '.', basename($my_uploaded_file['name'] ))))); $my_new_file = getcwd() . '/' . $uploads . '/' . $f_name .'.'. $f_type; $my_file = $uploads . '/' . $f_name .'.'. $f_type; // OPTIONAL TEST FOR ALLOWABLE EXTENSIONS if (!in_array($f_type, $file_exts)) die("Sorry, $f_type files not allowed"); // IF THERE ARE ERRORS if ($error_code != 0) { $error_message = $errors[$error_code]; die("Sorry, Upload Error Code: $error_code: $error_message"); } // GET THE FILE SIZE $file_size = number_format($my_uploaded_file["size"]); // MOVE THE FILE INTO THE DIRECTORY // IF THE FILE IS NEW if (!file_exists($my_new_file)) { if (move_uploaded_file($my_uploaded_file['tmp_name'], $my_new_file)) { $upload_success = 1; } else { $upload_success = -1; } // IF THE FILE ALREADY EXISTS } else { echo "
$my_file already exists.\n"; // SHOULD WE OVERWRITE THE FILE? IF NOT if (empty($_POST["overwrite"])) { $upload_success = 0; // IF WE SHOULD OVERWRITE THE FILE, TRY TO MAKE A BACKUP } else { $now = date('Y-m-d'); $my_bak = $my_new_file . '.' . $now . '.bak'; if (!copy($my_new_file, $my_bak)) { echo "
Attempted Backup Failed!\n"; } if (move_uploaded_file($my_uploaded_file['tmp_name'], $my_new_file)) { $upload_success = 2; } else { $upload_success = -1; } } } // REPORT OUR SUCCESS OR FAILURE if ($upload_success == 2) { echo "
It has been overwritten.\n"; } if ($upload_success == 1) { echo "
$my_file has been saved.\n"; } if ($upload_success == 0) { echo "
It was NOT overwritten.\n"; } if ($upload_success < 0) { echo "
ERROR $my_file NOT SAVED - SEE WARNING FROM move_uploaded_file() COMMAND\n"; } if ($upload_success > 0) { bytes de $file_size d'écho les « ont téléchargé. \ n » ; si (! chmod ($my_new_file, 0755)) { écho « 
le chmod (0755) A ÉCHOUÉ : fileperms () = « ; substr d'écho (sprintf (« %o », fileperms ($my_new_file)), -4) ; } écho « 
Voir le dossier $my_file \ n " ; } EXTRÉMITÉ ITERATOR DE // } }
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us