Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/07/2014, 06:56
evoarte
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
caracteres latinos devueltos - variable null

buenos días,

cuando el nombre del archivo subido contiene caracteres latinos (ñ,á,é, ...) la variable es null, es decir la respuesta echo json_encode($ret) es null o está vacia.

Código PHP:
Ver original
  1. <?php header('Content-Type: text/html; charset=ISO-8859-15');
  2.  
  3. $output_dir = "uploads/";
  4. if(isset($_FILES["myfile"]))
  5. {
  6.     $ret = array();
  7.  
  8.     $error =$_FILES["myfile"]["error"];
  9.     //You need to handle  both cases
  10.     //If Any browser does not support serializing of multiple files using FormData()
  11.     if(!is_array($_FILES["myfile"]["name"])) //single file
  12.     {
  13.         $fileName = utf8_decode($_FILES["myfile"]["name"] );
  14.         move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$fileName);
  15.         $ret[]= $fileName;
  16.     }
  17.     else  //Multiple files, file[]
  18.     {
  19.       $fileCount = count($_FILES["myfile"]["name"]);
  20.       for($i=0; $i < $fileCount; $i++)
  21.       {
  22.         $fileName = utf8_decode($_FILES["myfile"]["name"] );
  23.         move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName);
  24.         $ret[]= $fileName;
  25.       }
  26.    
  27.     }
  28.     echo json_encode($ret);
  29.  }
  30.  ?>

un saludo,
josé carlos.