Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/04/2016, 03:39
xerifandtomas
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: for each array de imagenes

Volviendo al tema, intenta hacer algunas comprobaciones adicionales
Hay muchas funciones para hacer la subida por ejemplo:

Código PHP:
Ver original
  1. <?php
  2. function upload_img($file,$nombre="img",$ruta="",$max_size= "5000000",$max_archivos=5){
  3.     $tipos_de_archivos= array("image/jpeg","image/jpg","image/png");
  4.  
  5.     if ($ruta=="") { $ruta = $_SERVER['DOCUMENT_ROOT']."/img/"; }
  6.     if ( !file_exists($ruta) ) {
  7.         if( !mkdir($ruta, 0775, true) ){ return 'No se a podido crear el directorio'; }
  8.     }
  9.  
  10.     $key_files=array_keys($file);
  11.     $numero_de_archivos= count($file[$key_files[0]]['name']);
  12.     if ($numero_de_archivos<1) {return 'No se ha cargado ningun archivo.';}
  13.     if ($numero_de_archivos>$max_archivos) {return 'Solo se pueden subir <b>'.$max_archivos.' archivos</b> a la vez.';}
  14.     if ( !is_array($file[$key_files[0]]['tmp_name']) ){return 'Se deben subir los archivos como un array.';}
  15.  
  16.     $tmp_name= $file[$key_files[0]]['tmp_name'];
  17.     $type= $file[$key_files[0]]['type'];
  18.     $size= $file[$key_files[0]]['size'];
  19.     $name= $file[$key_files[0]]['name'];
  20.     $error= $file[$key_files[0]]['error'];
  21.  
  22.     foreach ($tmp_name as $k => $v) {
  23.         if (!is_uploaded_file($v)) {return '<br/>El archivo <b>'.$name[$k].'</b> ha dado error.';}
  24.     }
  25.     foreach ($error as $k => $v) {
  26.         if ($v!==0) {return '<br/>El archivo <b>'.$name[$k].'</b> ha dado error.<br>'. $v;}
  27.     }
  28.     foreach ($type as $k => $v) {
  29.         if (!in_array($v, $tipos_de_archivos)){return '<br/>El archivo <b>'.$name[$k].'</b> no esta permitido. Solo archivos JPG, JPEG, PNG.';}
  30.     }
  31.     foreach ($size as $k => $v) {
  32.         if ($v>$max_size) {return '<br/>El archivo <b>'.$name[$k].'</b> supera el tama&ntilde;o permitido.';}
  33.     }
  34.     foreach ($name as $k => $v) {
  35.         $extension = end(explode('.', $v));
  36.         $nombre_final[$k]=$nombre.'-'.date('dmYHis').'-'.$k.'.'.$extension;
  37.     }
  38.    
  39.     foreach ($tmp_name as $k => $v) {
  40.         $destino= $ruta.$nombre_final[$k];
  41.         if(!move_uploaded_file($v, $destino)){return '<br/>No se ha podido mover el archivo al servidor.';}
  42.         $n[]=$nombre_final[$k];
  43.     }
  44. return $n;
  45. }
  46.  
  47. $subido=upload_img($_FILES,"nombre_img_sin_extension","ruta_completa");
  48. Print_r (  $subido );
Solo tienes que pasarle $_FILES el resto de parámetros son opcionales y devuelve un array con los nombres de los archivos subidos si todo hay ido bien.

También ten en cuenta que hay limitaciones a la hora de subir archivos establecidas en php mediante algunas directivas, revisa esto para más información: dificultades comunes
__________________
Unset($vida['malRollo']);