क्या PHP GD image library को स्मृति से बाहर होने से रोकने का कोई तरीका है? यदि बहुत बड़ी छवि अपलोड की जाती है, तो जीडी स्क्रिप्ट को समाप्त करने, स्मृति से बाहर निकलता है। मैं इसे पकड़ने के लिए एक आकर्षक अपवाद या कुछ फेंकना चाहता हूं, लेकिन यह नहीं है।जीडी छवि पुस्तकालय को स्मृति से बाहर होने से रोकने के लिए एक असफल-सुरक्षित तरीका? (PHP)
अभी मैं एक कोबल्ड-एक साथ लिपि का उपयोग कर रहा हूं जो पहले ini_set('memory_limit', '128M')
जारी करता है, यदि यह काम करता है तो मैं आमतौर पर सभी सेट करता हूं। सर्वर कॉन्फ़िगरेशन के आधार पर हालांकि यह संभव नहीं हो सकता है, इसलिए मैं एक एल्गोरिदम पर वापस आ रहा हूं जो आवश्यक स्मृति की मात्रा का आकलन करने का प्रयास करता है (संकल्प, रंग गहराई, चैनल और खाते में एक धुंध कारक लेना), फिर इसकी तुलना करता है memory_get_usage()
यदि फ़ंक्शन मौजूद है, अन्यथा कोई अनुमान है।
पूरी बात अब तक काम करती है, लेकिन यह सुरुचिपूर्ण से बहुत दूर है और कुछ किनारे के मामलों में असफल हो जाएगी, मुझे यकीन है। क्या ऐसा करने का कोई बेहतर तरीका है, यानी जीडी को सब कुछ पीसने के बजाय, अगर उसे रोकना है तो ग़लत ढंग से असफल हो सकता है?
बड़े जेपीईजी छवियों (नहीं-PNG या अन्य प्रकार के) जबकि लोड हो रहा है आकार दिया जा सकता, अधिक जानकारी के लिए इस उत्तर देखें: http://stackoverflow.com/questions/12661/efficient-jpeg-image-resizing- इन-पीएचपी/4613341 # 4613341 –