Select images: <input type="file" name="img" multiple="multiple" />
<?php
if(isset($_POST['submit'])){
var_dump($_FILES['immagine']);
}
?>
<form action='<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>' method='POST' enctype='multipart/form-data'>
Immagine: <input name='immagine[]' type='file' multiple='multiple'/> <br /> <br />
<input name='submit' type='submit' value='Salva' />
</form>
come puoi notare si tratta di array di array.array(5) {
["name"]=> array(3) {
[0]=> string(5) "3.gif"
[1]=> string(5) "1.gif"
[2]=> string(5) "2.gif" }
["type"]=> array(3) {
[0]=> string(9) "image/gif"
[1]=> string(9) "image/gif"
[2]=> string(9) "image/gif" }
["tmp_name"]=> array(3) {
[0]=> string(27) "C:\WINDOWS\TEMP\php2954.tmp"
[1]=> string(27) "C:\WINDOWS\TEMP\php2955.tmp"
[2]=> string(27) "C:\WINDOWS\TEMP\php2956.tmp" }
["error"]=> array(3) {
[0]=> int(0)
[1]=> int(0)
[2]=> int(0) }
["size"]=> array(3) {
[0]=> int(956)
[1]=> int(842)
[2]=> int(901) }
}
Selezione immagini: <input type="file" name="img" multiple="multiple" />
<!-- esempio di out put del var_dump selezionando più immagini
array(5) { ["name"]=> array(3) {
[0]=> string(5) "3.gif"
[1]=> string(5) "1.gif"
[2]=> string(5) "2.gif" }
["type"]=> array(3) {
[0]=> string(9) "image/gif"
[1]=> string(9) "image/gif"
[2]=> string(9) "image/gif" }
["tmp_name"]=> array(3) {
[0]=> string(26) "C:\WINDOWS\TEMP\php274.tmp"
[1]=> string(26) "C:\WINDOWS\TEMP\php275.tmp"
[2]=> string(26) "C:\WINDOWS\TEMP\php276.tmp" }
["error"]=> array(3) {
[0]=> int(0)
[1]=> int(0)
[2]=> int(0) }
["size"]=> array(3) {
[0]=> int(956)
[1]=> int(842)
[2]=> int(901) }
}
-->
<?php
function verifica_immagini($imm){
$ammesse=array("image/gif","image/jpeg","image/pjpeg","image/png");
$conta=0;
foreach($imm['immagine']['type'] as $tipo){
if($tipo !=""){//da verificare se serve
if(!in_array($tipo,$ammesse)){
unset($imm['immagine'][][$conta]);//non essendo una immagine la elimino tutto name/type.. relativo a [$conta]
//l'istruzione sopra ancora da verificare che non si debba fare
/*
unset($imm['immagine']['name'][$conta]);
unset($imm['immagine']['type'][$conta]);
unset($imm['immagine']['tmp_name'][$conta]);
ecc.....
*/
}
}
$conta++;
}//fine foreach
$rimaste=count($imm['immagine']['name']);//conte se sono rimaste immagini
if($rimaste > 0){
//ci sono delle immagini valide
return $imm;//ritorno l'array rimasto
}else{
return false;
}
}//fine function
if(isset($_POST['submit'])){
//var_dump($_FILES['immagine']);
if(verifica_immagini($_FILES['immagine']){
$immagini=verifica_immagini($_FILES['immagine']);
//e quindi le tratto
}else{
//e qui da decidere cosa fare se non ci sono immagini
}
}
?>
<form action='<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>' method='POST' enctype='multipart/form-data'>
Immagine 1:<input name='immagine[]' type='file' multiple='multiple'/> <br> <br>
<input name='submit' type='submit' value='Salva' />
</form>
ciao
se ti può servire un esempio di controllo per inserimento multiplo.
fai delle prove di verifica
PHP:<!-- esempio di out put del var_dump selezionando più immagini array(5) { ["name"]=> array(3) { [0]=> string(5) "3.gif" [1]=> string(5) "1.gif" [2]=> string(5) "2.gif" } ["type"]=> array(3) { [0]=> string(9) "image/gif" [1]=> string(9) "image/gif" [2]=> string(9) "image/gif" } ["tmp_name"]=> array(3) { [0]=> string(26) "C:\WINDOWS\TEMP\php274.tmp" [1]=> string(26) "C:\WINDOWS\TEMP\php275.tmp" [2]=> string(26) "C:\WINDOWS\TEMP\php276.tmp" } ["error"]=> array(3) { [0]=> int(0) [1]=> int(0) [2]=> int(0) } ["size"]=> array(3) { [0]=> int(956) [1]=> int(842) [2]=> int(901) } } --> <?php function verifica_immagini($imm){ $ammesse=array("image/gif","image/jpeg","image/pjpeg","image/png"); $conta=0; foreach($imm['immagine']['type'] as $tipo){ if($tipo !=""){//da verificare se serve if(!in_array($tipo,$ammesse)){ unset($imm['immagine'][][$conta]);//non essendo una immagine la elimino tutto name/type.. relativo a [$conta] //l'istruzione sopra ancora da verificare che non si debba fare /* unset($imm['immagine']['name'][$conta]); unset($imm['immagine']['type'][$conta]); unset($imm['immagine']['tmp_name'][$conta]); ecc..... */ } } $conta++; }//fine foreach $rimaste=count($imm['immagine']['name']);//conte se sono rimaste immagini if($rimaste > 0){ //ci sono delle immagini valide return $imm;//ritorno l'array rimasto }else{ return false; } }//fine function if(isset($_POST['submit'])){ //var_dump($_FILES['immagine']); if(verifica_immagini($_FILES['immagine']){ $immagini=verifica_immagini($_FILES['immagine']); //e quindi le tratto }else{ //e qui da decidere cosa fare se non ci sono immagini } } ?> <form action='<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>' method='POST' enctype='multipart/form-data'> Immagine 1:<input name='immagine[]' type='file' multiple='multiple'/> <br> <br> <input name='submit' type='submit' value='Salva' /> </form>
mi sta fumando la testa per cercare di risolverti
if(isset($_POST['submit'])){
//var_dump($_FILES['immagine']);
if(verifica_immagini($_FILES['immagine']){
$immagini=verifica_immagini($_FILES['immagine']);
//e quindi le tratto
[B]}else{ <-------- ERRORE[/B]
//e qui da decidere cosa fare se non ci sono immagini
}
}
<?php
function verifica_immagini($imm){
$ammesse=array("image/gif","image/jpeg","image/pjpeg","image/png");
$conta=0;
//var_dump($imm);
foreach($imm['type'] as $tipo){
if(!in_array($tipo,$ammesse)){
unset($imm['name'][$conta]);
unset($imm['type'][$conta]);
unset($imm['tmp_name'][$conta]);
unset($imm['error'][$conta]);
unset($imm['size'][$conta]);
}
$conta++;
}//fine foreach
$rimaste=count($imm['name']);//conte se sono rimaste immagini
if($rimaste > 0){
//ci sono delle immagini valide
return $imm;//ritorno l'array rimasto
}else{
return false;
}
}//fine function
if(isset($_POST['submit'])){
//var_dump($_FILES['immagine']);
if(verifica_immagini($_FILES['immagine'])){
$immagini=verifica_immagini($_FILES['immagine']);
print_r($immagini); echo "<br>";
//e quindi le tratto
}else{
echo "non ci sono immagini<br>";
//e qui da decidere cosa fare se non ci sono immagini
}
}
?>
<form action='<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>' method='POST' enctype='multipart/form-data'>
Immagine 1:<input name='immagine[]' type='file' multiple='multiple'/> <br> <br>
<input name='submit' type='submit' value='Salva' />
</form>