2011-12-13 13 views
5

में अनुमतियां सेट करना मेरे पास एक ज़िप फ़ाइल है। मैं इसे ZipArchive php लाइब्रेरी के साथ खोलता हूं, और इसमें एक डीआईआर और एक फ़ाइल जोड़ता हूं। जब मैं इसे उबंटू के डिफ़ॉल्ट अपरिवर्तक के साथ निकालता हूं तो सब कुछ अपेक्षित काम करता है। लेकिन जब मैं इसे ओएस एक्स हिम तेंदुए (डिफ़ॉल्ट, केका और अनारकवर के साथ प्रयास किया जाता है) पर किसी भी अनारक के साथ निकाला जाता है तो नई निर्देशिका की अनुमति 700 होती है। अपेक्षित अनुमतियां 755 होती हैं।ZipArchive

तो, यहां मूल ज़िप है:

DIRECTORY 
a.txt 
b.txt 

यहाँ मेरी कोड है:

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

और परिणाम है:

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

जो सही है, लेकिन अगर मैं इसे ओएसएक्स के तहत निकालने के लिए 755 के बजाय NEW_DIR निर्देशिका की अनुमति 700 (drwx ------) है। इसे कैसे जोड़ेंगे?

धन्यवाद!

संपादित करें:

$ 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

दिलचस्प की तर्ज पर कुछ कर सकते हैं:

यहाँ मेरी ज़िप में फ़ाइलों के बारे में zipinfo है अपडेट करें: आपके आइटम की उत्पत्ति "यूनिक्स फ़ाइल सिस्टम" या "विंडोज एफएटी" के रूप में संग्रहीत है: -? –

+0

मैं एक हिम तेंदुए का उपयोग कर रहा हूं, मुझे लगता है कि यह hfs + है। – mimrock

उत्तर

-1

आप आवश्यक सुरक्षा विशेषाधिकार हैं, तो आप

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

धन्यवाद, लेकिन वास्तविक एप्लिकेशन में ज़िप सर्वर पर निकाला नहीं जाएगा। उपयोगकर्ता इसे डाउनलोड कर सकता है, और यदि वह ओएसएक्स का उपयोग करती है तो वह ऊपर वर्णित अनुमति समस्या को पूरा करेगी, और उसे मैन्युअल रूप से इसे ठीक करना होगा, जो उपयोगकर्ता के अनुकूल नहीं है। – mimrock