2011-12-13 21 views
5

Tengo un archivo Zip. Lo abro con la biblioteca Zip de ZipArchive y agrego un directorio y un archivo en él. Cuando lo extraigo con el desarchivo predeterminado de Ubuntu, todo funciona como se esperaba. Pero cuando lo extraigo con cualquier desarchivo en OS X Snow Leopard (probado con el predeterminado, Keka y The Unarchiver) los permisos del nuevo directorio son 700.Configuración de permisos en ZipArchive

Así que aquí está el código postal original:

DIRECTORY 
a.txt 
b.txt 

Aquí está mi código:

<?php 
$file = 'example.zip'; 
$zip = new ZipArchive; 
$res = $zip->open($file, ZipArchive::CREATE); 
    if ($res === TRUE) { 

    $zip->addEmptyDir('DIRECTORY/NEW_DIR'); 
    $zip->addFromString('DIRECTORY/NEW_DIR/c.txt', 'hellooo'); 
    $zip->close(); 
    } 
    else { 
    print 'error'; 
    } 

y el resultado es:

DIRECTORY -> NEW_DIR -> c.txt 
a.txt 
b.txt 

que es correcto, pero los permisos del directorio NEW_DIR son 700 (drwx ------) en lugar de 755 si los extraigo en osx. ¿Como arreglarlo?

Gracias!

EDIT:

Aquí está la zipinfo acerca de los archivos en mi postal:

$ zipinfo -l test.zip 
(..) 
drwxr-xr-x 3.0 unx  0 bx  0 stor 13-Dec-11 17:43 DIRECTORY/ 
-rw-r--r-- 3.0 unx  533 tx  327 defN 3-Nov-11 01:50 a.txt 
-rw-r--r-- 3.0 unx 91669 tx 32044 defN 3-Nov-11 01:09 b.txt 
-rw----  0.0 fat  0 b-  2 defN 13-Dec-11 18:12 DIRECTORY/new_dir/ 
-rw----  0.0 fat  7 b-  9 defN 14-Dec-11 10:30 DIRECTORY/new_dir/c.txt 
+0

Interesante actualización: el origen de sus artículos se almacena como "sistema de archivos Unix" o "Windows FAT": -? –

+0

Estoy usando un Snow Leopard, creo que es hfs +. – mimrock

Respuesta

-1

Si tiene los privilegios de seguridad necesarios, se puede hacer algo en la línea de

<?php 
    exec("chmod -R 755 /directory/new_dir"); 
+0

Gracias, pero en la aplicación real, el zip no se extraerá en el servidor. El usuario puede descargarlo y, si usa OSX, encontrará el problema de permiso descrito anteriormente y tendrá que arreglarlo manualmente, lo que no es fácil de usar. – mimrock

Cuestiones relacionadas