Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/06/2016, 08:48
rodocoyote15
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 11 meses
Puntos: 39
Añadir carpetas con tilde a un zip

Hola a todos. Llevo un par de horas dando vuelta a esto y no veo solución.

Resulta, que en base a una carpeta creada (con subdirectorios y archivos dentro) necesito crearle el zip.
Éstas carpetas se muestran bien en el explorador de windows aunque algunas tengan vocales con acento. Sin embargo al traspasarlas al zip, no logro que los acentos se pasen.

Utilizo ésta función

Código PHP:
Ver original
  1. function agregar_zip($dir, $zip) {
  2.   //verificamos si $dir es un directorio
  3.   if (is_dir($dir)) {  
  4.     //abrimos el directorio y lo asignamos a $da
  5.     if ($da = opendir($dir)) {
  6.       while (($archivo = readdir($da)) !== false) {      
  7.         if (is_dir($dir . $archivo) && $archivo != "." && $archivo != ".." && $archivo != "archivos.zip" ) {          
  8.           agregar_zip($dir . $archivo . "/", $zip);            
  9.         } elseif (is_file($dir . $archivo) && $archivo != "." && $archivo != ".." && $archivo != "archivos.zip") {         
  10.                 // AQUI TENGO QUE PARSEAR DICHO DATO           
  11.             $zip->addFile($dir . $archivo, $renombre);
  12.  
  13.         }
  14.       }
  15.       //cerramos el directorio abierto en el momento
  16.       closedir($da);
  17.     }
  18.   }
  19. }

He intentando con:

Código PHP:
Ver original
  1. $renombre = utf8_decode($dir . $archivo);           // opcion1
  2.  
  3. $renombre = str_replace("ó","ó",$dir . $archivo); // opcion2
  4.  
  5. $renombre = utf8_encode($dir . $archivo); // opcion3

He intentado las 3 opciones que aparecen y ninguna me ha dado resultados. Cualquier ayuda es bien recibida, saludos!