2010-10-21 10 views
6

मुझे एक लिनक्स बॉक्स पर एक PHP अनुप्रयोग से WinZip संगत ज़िप फ़ाइल बनाना है, और इसे एईएस 256 एन्क्रिप्शन का उपयोग करना होगा। मुझे विंडोज़ पर PHP के लिए कुछ समाधान मिल गए हैं, लेकिन वे मेरी मदद नहीं करते हैं! एक PHP पैकेज बहुत अच्छा होगा, लेकिन अगर मुझे इसकी ज़रूरत है, तो मैं हमेशा एक लिनक्स कमांड लाइन उपयोगिता चलाने के लिए अपना PHP कोड रन exec() या कुछ कर सकता हूं।मैं लिनक्स पर PHP से WinZip संगत एईएस -256 एन्क्रिप्टेड ज़िप फ़ाइल कैसे बना सकता हूं?

कोई सुझाव?

+0

ऐसा लगता है कि एन्क्रिप्शन लागू करने के लिए एक बाहरी जिप कार्यक्रम कॉल करने के लिए की आवश्यकता होगी: 7-zip लागू इस सुविधा, मेरे दस्तावेज में मैं इस आदेश मिल गया। PHP की अंतर्निर्मित ज़िप कक्षा लिनक्स या विंडोज पर जेनेरिक ज़िप फ़ाइलों को बनाने/निकालने के लिए ठीक काम करेगी, लेकिन किसी भी एन्क्रिप्शन समर्थन का उल्लेख नहीं करती है। –

+1

ऐसा लगता है कि एईएस एन्क्रिप्शन एक विशिष्ट WinZIP सुविधा है, (ज़िप फ़ाइलों की दुनिया में व्यापक रूप से स्वीकृत मानक के बजाय http://www.winzip.com/aes_info.htm देखें), जिससे इस तरह के अभिलेखागार बनाने में संभावित रूप से मुश्किल हो रही है WinZIP को कॉल किए बिना PHP का उपयोग करके, खासकर गैर-विंडोज मशीनों पर। और यह मुझे सोचता है: आप वास्तव में ऐसा क्यों करना चाहते हैं? शायद बहुत सारे अच्छे विकल्प हैं। आपकी स्क्रिप्ट किस ओएस पर चलती है, और ज़िप फ़ाइलों को किस ओएस पर खोला जाएगा? आप किस प्रकार की चीजों से रक्षा करना चाहते हैं, और क्यों? –

+0

संक्षिप्त उत्तर पेले दस केट ... मेरे ग्राहक ने इन आवश्यकताओं को निर्दिष्ट किया है। मैं उनको थोड़ी भिन्नता से सहमत होने की उम्मीद कर रहा हूं जो मेरे लिए लागू करना आसान है। – Jason

उत्तर

0
  1. यदि आपके होस्ट पर एक ज़िप एप्लिकेशन क्लोन पहले से इंस्टॉल नहीं है, तो केवल Google को एक अलग-अलग ज़िप अनुप्रयोगों को स्थापित करने के लिए खोजें, जो एन्क्रिप्शन और क्रॉस-प्लेटफ़ॉर्म संगतता दोनों का समर्थन करने में सक्षम हैं।
  2. `exec` या इसी तरह के PHP फ़ंक्शन का उपयोग किसी भी उपलब्ध बाहरी ज़िप एप्लिकेशन को कॉल करने और अपनी लक्षित फ़ाइल में एईएस -256 एन्क्रिप्शन को लागू करने में सक्षम करने के लिए करें। आपको किसी भी कमांड लाइन स्विच को जानने की आवश्यकता होगी, जिसे आपके ज़िप एप्लिकेशन को ऐसा करने की आवश्यकता है। आपके 'exec` स्ट्रिंग पैरामीटर के भीतर लक्षित फ़ाइल नाम निश्चित रूप से चर का उपयोग करके स्विच किए जा सकते हैं।
  3. अपने नए ज़िप फ़ाइल

परोसें हालांकि, नहीं एन्क्रिप्शन चाहिए एक चिंता का विषय, जेनेरिक ज़िप फ़ाइलें बनाने के लिए PHP के पिन वर्ग देखें: http://php.net/manual/en/book.zip.php

1

नहीं php-विशिष्ट (इस सवाल का अत्यधिक गूगल में स्थान दिया गया है भी php के बिना):

7za a -tzip -pPASSWORD -mem=AES256 target.zip filelist 
+0

यह प्रश्न दिया गया [टैग: php] टैग के कारण रैंक किया गया है – mate64

संबंधित मुद्दे