Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/12/2012, 13:34
educacanis
 
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 295
Antigüedad: 13 años, 7 meses
Puntos: 12
Subida múltiple de archivos en IE

Por favor, necesito ayuda, tengo un script para subir múltiples imágenes al servidor.
Para ello me dividía los datos de las imágenes en un array e iba haciendo la misma función con las distintas imágenes. Pero sin embargo, ahora resulta que con IE es como si no subiese imágenes.

Con todos los navegadores funciona la opción de multiple file, excepto en IE, así que tengo el formulario de tal manera que si es IE añada varios campos input.

Código HTML:
 <input id="fichero" class="fichero" name="fichero[]" type="file" multiple />
                                        
                    <!--[if IE]>
                    <input class="fichero" name="fichero[]" type="file">
                    <input class="fichero" name="fichero[]" type="file">[PHP][/PHP]
                    <input class="fichero" name="fichero[]" type="file">
                    <input class="fichero" name="fichero[]" type="file">
                    <input class="fichero" name="fichero[]" type="file">
                    <![endif]--> 
Resulta que he probado si el problema era el tener varios input file, pero si lo hago en Google Chrome utilizando la interfaz de varios input, en vez de uno múltiple también me funciona.

Odio IE , pero aún así necesitaría arreglarlo ya que mucha gente utiliza IE.

El código que me divide en arrays, en IE, ni siquiera devuelve nada, lo deja vacío como si no subiese absolutamente nada... Sabéis si hay que poner algo de añadido para IE. El código que me saca la información de las imágenes es el siguiente.

Código PHP:
function GetFiles() {
        
$files = array();
        if (
is_array($_FILES['fichero']['name'])) {
            for (
$i 0$i count($_FILES['fichero']['name']); ++$i) {
                
$files[] = array(
                    
'name' => $_FILES['fichero']['name'][$i],
                    
'tmp_name' => $_FILES['fichero']['tmp_name'][$i],
                    
'type' => $_FILES['fichero']['type'][$i],
                    
'size' => $_FILES['fichero']['size'][$i],
                    
'error' => $_FILES['fichero']['error'][$i],
                );
                
                if (
$files[$i]['error'] == 4){
                    unset(
$files[$i]);
                }
            }
         } else {
            
$files[] = $_FILES['fichero'];
         }
    return (
$files);  

Por favor, os suplico ayuda