Bilder Upload mit Variabler anzahl an Bilder

Buffy-Fan

Grünschnabel
Hallo an alle!

Ich habe ein anliegen. Ich will ein Uploadscript machen, dass 1-25 Bilder hochladet. Ein Uploadscript kann ich auch selber machen, dass ist ja nicht das Problem, sondern ich will mit <select..... u.s.w will ich dann ne auswahl machen wieviel bilder Upgeloadet werden. Dies z.B. unter dem namen $anzahl.
dann will ich anhand der variable $anzahl einfach in einem uploadscript (meinem Uploadscript einfach es nur noch dahintersetzt und vervielfältigt) z.B.
Code:
$temp1 = $_FILES['fdatei1']['tmp_name'];
   
$name1 = $_FILES['datei1']['name1'];
   
 copy("$temp1", "$name1");
ok wenn in dem <select><option..... 1 steht, soll es den in der Codebox eingetragenen code ausgeben. wenn 2 darin steht soll es automatisch
Code:
$temp1 = $_FILES['fdatei1']['tmp_name'];
   
$name1 = $_FILES['datei1']['name1'];
   
 copy("$temp1", "$name1");

$temp2 = $_FILES['fdatei2']['tmp_name'];
   
$name2 = $_FILES['datei2']['name2'];
   
 copy("$temp2", "$name2");
Aber auchtung! es soll nicht nur 2 dahinter schreiben sondern 2 dahinter setzen und einmal 1.



Also
Vorschläge, Komentare alles möglich.

Bitte nur posten
 
Also.

Du stellst ein select-feld hin mit den optionen 1-25. Das muß der User dann auswählen.

Wenn er dann auf weiter klickt, kannst du ne for-schleife durchlaufen in der du dann die upload-felder ausgibst. Das mußt du auch nicht immer mit Zahlen hinter den Namen machen, du erstellst einfach ein Array. Code folgt.

PHP:
for ($i = 0; $i < $_POST["menge_an_feldern"]; $i++) {
  echo "
  <tr>
    <td>Dein Bild No. ".($i+1)."</td>
    <td><input type=\"file\" name=\"upload_bild[]\"></td>
  </tr>";
}

Die Menge der Bilder kannst du noch in einem Hidden-Feld übergeben und dann durchläufst du später wieder eine For-Schleife in der du die Bilder speichern / verwalten / was auch immer kannst.


Ronin
 
Original geschrieben von ronin
Also.

Du stellst ein select-feld hin mit den optionen 1-25. Das muß der User dann auswählen.

Wenn er dann auf weiter klickt, kannst du ne for-schleife durchlaufen in der du dann die upload-felder ausgibst. Das mußt du auch nicht immer mit Zahlen hinter den Namen machen, du erstellst einfach ein Array. Code folgt.

PHP:
for ($i = 0; $i < $_POST["menge_an_feldern"]; $i++) {
  echo "
  <tr>
    <td>Dein Bild No. ".($i+1)."</td>
    <td><input type=\"file\" name=\"upload_bild[]\"></td>
  </tr>";
}


Die Menge der Bilder kannst du noch in einem Hidden-Feld übergeben und dann durchläufst du später wieder eine For-Schleife in der du die Bilder speichern / verwalten / was auch immer kannst.


Ronin




Vielen Dank
ich probiers dann mal aus
 
ICh bekomme es leider nicht hin.
kann mir mal einer en bischen helfen.



Also ich will ein Option feld mit optionen von 1-50


und wenn man z.B. wenn man 15 auswählt kommen 15 <input type="file".... felder. und ladet auch alle 15 bilder hoch. ich weiß man muss es mit for und arrys u.s.w machen
aber könnt ihr mr trotzdem helfen.

Danke schonmal
 
Auswahlbox:
Code:
<select name="anzahl" id="anzahl">
<option value="1">1</option>
...
<option value="50">50</option>
</select>

Input-Generierung:
PHP:
$anzahl = $_POST['anzahl']; //oder auch $_GET, je nachdem, wie du die Daten übergibst
for ($i = 1; $i <= $anzahl; $i++) {
    echo '<input type="file" name="uploads[]" id="uploads[]" />';
}

Auslesen und anschließender Upload:
PHP:
$uploads = $_FILES['uploads'];
for ($i = 0; $i < count($uploads); $i++) {
    //Hier ganz normal den Uploadmechanismus einfügen. Zugriff auf das aktuelle File immer mit:
    // $uploads[$i]['name']
    // bzw.
    // $uploads[$i]['tmp_name']
    // usw.
}

Prinzip verstanden?
 
@ludz

dabei werden aber die Uploadfelder alle zusammen aufgelistet, wie kann man es machen, daß diese immer nacheinandere erscheinen, also wenn ein File hochgeschoben wurd, dann das Uploadfeld für die nächste Datei erscheint und trotzdem für jede Datei eine eigene Variable hat ?
 
Wie meinst du dass alle aufgelistet werden

Wenn du wilst dass alle von 1- 50 1, 2, 3,4, ....50 aufgelistet werden musst du das machen:
Code:
<select size="1" name="anzahl" id="anzahl">

<option>1</option>
 <option>2</option>
 <option>3</option>
 <option>4</option>
 <option>5</option>
 <option>6</option>
 <option>7</option>
 <option>8</option>
 <option>9</option>
 <option>10</option>
 <option>11</option>
 <option>12</option>
 <option>13</option>
 <option>14</option>
 <option>15</option>
 <option>16</option>
 <option>17</option>
 <option>18</option>
 <option>19</option>
 <option>20</option>
 <option>21</option>
 <option>22</option>
 <option>23</option>
 <option>24</option>
 <option>25</option>
 <option>26</option>
 <option>27</option>
 <option>28</option>
 <option>29</option>
 <option>30</option>
 <option>31</option>
 <option>32</option>
 <option>33</option>
 <option>34</option>
 <option>35</option>
 <option>36</option>
 <option>37</option>
 <option>38</option>
 <option>39</option>
 <option>40</option>
 <option>41</option>
 <option>42</option>
 <option>43</option>
 <option>44</option>
 <option>45</option>
 <option>46</option>
 <option>47</option>
 <option>48</option>
 <option>49</option>
 <option>50</option>




 </select>

edit:_________________________________________________-
OOHH


Sorry hab falsch verstanden wie du dass meinst.
VIleicht mit einer schleife.
Ich schau einfach mal.
 
Zuletzt bearbeitet:
das mit der Selectauswahl brauche ich ja nicht, ging mir nur um das File-Inputfeld, daß da immer nur eins erscheint und dies immer nach und nach, also insgesamt 4x.

Habe es so gelöst, daß ich einen Zähler eingebaut habe und beim Aufruf per Hidden den Zähler 0 per POST mitschicke und diesen dann dort hochzöhlen lasse, solange bis der die Anzahl erreicht hat.
 
Zurück