2 afbeeldingen toevoegen
Ik heb 2 checkboxes met 2 keuze mogelijkheden. Als je optie 1 kiest kan je een image toevoegen. Kies je optie 2 kan je een image toevoegen. Kies je optie 1 EN 2, moeten allebij de images toegevoegd worden. Hoe doe ik dit het beste?
Groeten Donny
Ik dacht dat je die multiple/enctype maar voor 1 afbeelding kon gebruiken?
Niet dat ik weet, volgens mij kan je gewoon meerdere bestanden in 1 form posten
Nick Dijkstra op 23/09/2013 21:17:14:
Niet dat ik weet, volgens mij kan je gewoon meerdere bestanden in 1 form posten
klopt
Donny Wie weet op 23/09/2013 21:12:35:
Ik dacht dat je die multiple/enctype maar voor 1 afbeelding kon gebruiken?
Nee, daar is echt niets van aan.
Laat me even alle drie tegelijk te tonen.
Het ding dat misschien een beetje raar is: bij het uploaden van verschillende files is het niet
$_FILES['foto'][0]['name'], $_FILES['foto'][1]['name'], $_FILES['foto'][2]['name'], ...
Maar wel
$_FILES['foto']['name'][0], $_FILES['foto']['name'][1], $_FILES['foto']['name'][2], ...
Code (php)
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
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
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$files = $_FILES['foto'];
// echo '<pre>' . print_r($files, 1) . '</pre>';
if (is_array($files['name'])) {
// multiple upload
foreach($files['name'] as $key=>$file) {
$uploaded = move_uploaded_file($files['tmp_name'][$key], 'uploads/' . $files['name'][$key] ) ; // mapje "uploads" aanmeken !!
}
}
else {
// single upload
$uploaded =move_uploaded_file($files['tmp_name'], 'uploads/' . $files['name'] ) ;
}
if ($uploaded) {
echo 'Upload geslaagd';
}
}
echo <<<HTML
<h2>1 upload</h2>
<form method="post" action="" enctype="multipart/form-data">
<input type="file" name="foto">
<input type="submit" value="Submit">
</form>
<hr>
<h2>meerdere upload elementen</h2>
<p>Een vast aantal input elementen. Je kan met javascript ook, dynamisch, dergelijke elementen bijmaken.</p>
<form method="post" action="" enctype="multipart/form-data">
<input type="file" name="foto[]">
<input type="file" name="foto[]">
<input type="file" name="foto[]">
<input type="file" name="foto[]">
<input type="submit" value="Submit">
</form>
<hr>
<h2>1 element met multiple upload</h2>
<p>Open de file dialog; dan kan je verschillende bestanden selecteren in 1 keer</p>
<form method="post" action="" enctype="multipart/form-data">
<input type="file" name="foto[]" multiple="multiple">
<input type="submit" value="Submit">
</form>
HTML;
?>
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$files = $_FILES['foto'];
// echo '<pre>' . print_r($files, 1) . '</pre>';
if (is_array($files['name'])) {
// multiple upload
foreach($files['name'] as $key=>$file) {
$uploaded = move_uploaded_file($files['tmp_name'][$key], 'uploads/' . $files['name'][$key] ) ; // mapje "uploads" aanmeken !!
}
}
else {
// single upload
$uploaded =move_uploaded_file($files['tmp_name'], 'uploads/' . $files['name'] ) ;
}
if ($uploaded) {
echo 'Upload geslaagd';
}
}
echo <<<HTML
<h2>1 upload</h2>
<form method="post" action="" enctype="multipart/form-data">
<input type="file" name="foto">
<input type="submit" value="Submit">
</form>
<hr>
<h2>meerdere upload elementen</h2>
<p>Een vast aantal input elementen. Je kan met javascript ook, dynamisch, dergelijke elementen bijmaken.</p>
<form method="post" action="" enctype="multipart/form-data">
<input type="file" name="foto[]">
<input type="file" name="foto[]">
<input type="file" name="foto[]">
<input type="file" name="foto[]">
<input type="submit" value="Submit">
</form>
<hr>
<h2>1 element met multiple upload</h2>
<p>Open de file dialog; dan kan je verschillende bestanden selecteren in 1 keer</p>
<form method="post" action="" enctype="multipart/form-data">
<input type="file" name="foto[]" multiple="multiple">
<input type="submit" value="Submit">
</form>
HTML;
?>
Gewijzigd op 24/09/2013 10:43:33 door Kris Peeters