2009-09-11 8 views
7

पर ट्रांसेफर करने के लिए प्रभावी संपीड़न मुझे एक फ्लैश एप्लिकेशन से एक PHP पृष्ठ पर कुछ सुंदर लंबे तार भेजने की ज़रूरत है, और निश्चित रूप से मैं सर्वर से यातायात लोड को कम करने के लिए इसे संपीड़ित करना चाहता हूं। मैं स्ट्रिंग को एक प्रभावी तरीके से कैसे संपीड़ित कर सकता हूं और PHP में आसानी से इसे कम कर सकता हूं?एएस 3 में प्रभावी संपीड़न को PHP

जैसा कि यह अब दिखता है, हम मानक ज़िप फ़ाइल स्थानांतरण की ओर झुका रहे हैं, लेकिन इस ऑपरेशन को संभालने के लिए PHP में कार्यक्षमता कुछ हद तक भारी है। जब ज़िप स्ट्रीम प्राप्त होती है, तो मुझे उस स्ट्रीम से एक फ़ाइल बनाना पड़ता है - और इसके बाद फ़ाइल को ज़िप _ * - फ़ंक्शन के साथ पढ़ा जाता है।

यह स्ट्रिंग पर सीधे काम करने के लिए बहुत आसान और सुंदर होगा।

सादर,

उत्तर

9

दूसरा तरीका Flash.utils.ByteArray का उपयोग करना है। बाइटएरे क्लास में 'संपीड़न' विधि के माध्यम से zlib संपीड़न होता है।

मूल रूप से

:

  1. एक नया bytearray बनाएँ।
  2. बाइटएरे में स्ट्रिंग लिखें।
  3. बाइटएरे के भीतर सामग्री को संपीड़ित करने के लिए ByteArray.compress को कॉल करें।
  4. सर्वर पर ByteArray पोस्ट करें।

PHP zlib का समर्थन करता है इसलिए एक स्ट्रिंग सर्वर पक्ष में बाइनरी डेटा को असंपीड़ित करना बहुत सरल है।

चीयर्स,

टेड :)

+0

एडोब एक-अप मेरे लिए किसी और को छोड़ दो;) तरफ मज़ाक, यह कुछ महत्वपूर्ण जानकारी है, और मैं इसे बुकमार्क करने के लिए सुनिश्चित हो जाएगा। –

4

आप AMF (गतिविधि संदेश स्वरूप) में देखा है?

एक्शन मैसेज फॉर्मेट (एएमएफ) एक बाइनरी फ़ाइल प्रारूप है जो एक धारावाहिक एक्शनस्क्रिप्ट ऑब्जेक्ट का प्रतिनिधित्व करता है। डेटा स्टोरेज और डेटा एक्सचेंज के लिए एएमएफ फ़ाइल प्रकार का उपयोग फ्लैश प्लेयर में किया जाता है। उदाहरण के लिए फ्लैश प्लेयर एएमएफ में साझा ऑब्जेक्ट्स, रिमोट ऑब्जेक्ट्स, लोकलकनेक्शन, बाइटएरे, आरटीएमपी, और सभी आरपीसी संचालन में उपयोग किया जाता है।

वेड अर्नोल्ड एक एएमएफपीएचपी लाइब्रेरी के लिए ज़िम्मेदार है जिसे बाद में ज़ेंड फ्रेमवर्क में पैक किया गया है। हालांकि, आप इसे फ्रेमवर्क से स्वतंत्र रूप से उपयोग कर सकते हैं। यहां कुछ और जानकारी दी गई है: http://framework.zend.com/wiki/display/ZFPROP/Zend_Amf+-+Wade+Arnold

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