2011-12-13 36 views
5

Tôi có một tệp Zip. Tôi mở nó bằng thư viện ZipArchive php, và thêm một thư mục và một tập tin trong đó. Khi tôi giải nén nó với ubuntu mặc định unarchiver tất cả mọi thứ hoạt động như mong đợi. Nhưng khi tôi giải nén nó với bất kỳ unarchiver trên OS X Snow Leopard (đã thử với một mặc định, Keka và The Unarchiver) các điều khoản của thư mục mới là 700. Các quyền dự kiến ​​là 755.Quyền thiết lập trong ZipArchive

Vì vậy, đây là mã zip ban đầu:

DIRECTORY 
a.txt 
b.txt 

Dưới đây là mã của tôi:

<?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'; 
    } 

Và kết quả là:

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

là đúng, nhưng quyền của thư mục NEW_DIR là 700 (drwx ------) thay vì 755 nếu tôi trích xuất nó dưới osx. Làm thế nào để sửa chữa nó?

Cảm ơn!

EDIT:

Đây là zipinfo về các tập tin trong zip của tôi:

$ 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

Thú vị cập nhật: nguồn gốc của các mục của bạn được lưu trữ dưới dạng "Hệ thống tệp Unix" hoặc "Windows FAT": -? –

+0

Tôi đang sử dụng Snow Leopard, tôi nghĩ đó là hfs +. – mimrock

Trả lời

-1

Nếu bạn có quyền bảo mật cần thiết, bạn có thể làm một cái gì đó dọc theo dòng của

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

Cảm ơn bạn, nhưng trong ứng dụng thực tế, zip sẽ không được trích xuất trên máy chủ. Người dùng có thể tải xuống và nếu cô ấy sử dụng OSX, cô ấy sẽ gặp sự cố về quyền được mô tả ở trên và cô ấy sẽ phải sửa lỗi theo cách thủ công, điều này không thân thiện với người dùng. – mimrock

Các vấn đề liên quan