php - imagecreatefromjpeg timeout issue -


मेरे पास एक लंबा कार्य है जो imagecreatefromjpeg () का उपयोग करता है।

 < कोड> फ़ंक्शन myFunction () {... ... $ im = imagecreatetruecolor (600, 400); $ MyImage = imagecreatefromjpeg ("http://example.com/file.jpeg"); इमेजकोपी ($ im, $ myImage, 5, 5, 0, 0, 48, 48); ... ... ... ...}  

मैं दूरस्थ URL से jpeg फ़ाइल लोड करता हूँ सर्वर लोड होने के कारण कभी-कभी मुझे मिलता है:

  चेतावनी: चेतावनी (2): imagecreatefromjpeg (http://example.com/file.jpeg): स्ट्रीम को खोलने में विफल: कनेक्शन का समय समाप्त हुआ [/var/www/vhosts/example2.com/httpdocs/myfile.php, पंक्ति 1851]  

इस फ़ाइल के लिए सभी निष्पादन का समय बिताया जाता है, इसलिए बाकी के लिए अनुरोध असफल हो जाता है फ़ंक्शन

हालांकि मुझे अभी तक की गई जेपीईजी फाइल को डाउनलोड करना है, फिर भी शेष कोड चलाना मेरे लिए स्वीकार्य है।

मैं इस तरह के समाधान की खोज करता हूं:
- इसे आज़माएं: छवि बनाएं Jpeg फ़ाइल से डाउनलोड करें - अगर 5 सेकंड के बाद सफल नहीं होता है, तो छोड़ें - शेष कोड चलाएं

संपादित करें:
- मुझे कभी-कभी यह त्रुटि मिलती है अधिकांश अनुरोध सफल होते हैं तो allow_url_fopen एक समस्या नहीं है।
- यह जेपीईजी फ़ाइल अक्सर एक घंटे की तरह बदलती है।

< P> ऐसी स्थिति में जहां कोड का एक टुकड़ा ठीक से काम नहीं करेगा, चाहे वह किसी त्रुटि या एक अपवाद के कारण हो, तो आप समस्या को संभालने के लिए कोशिश / पकड़ने का प्रयोग कर सकते हैं। इस तरह, यदि आपका कोड टूटता है या काम नहीं करता है, तो किसी कारण के लिए, आप किसी दी गई त्रुटि या अपवाद को संभालने का एक तरीका प्रोग्राम कर सकते हैं।

हालांकि, कोशिश / पकड़ केवल काम करता है, और imagecreatefromjpeg () एक चेतावनी फेंकता है, जो एक प्रकार की त्रुटि है आप त्रुटियों को अपवादों में बदलने के लिए set_error_handler () का उपयोग कर इसे हल कर सकते हैं! अपनी पीएचपी फाइल के शीर्ष पर, डालें

  set_error_handler (फ़ंक्शन ($ errno, $ errstr, $ errfile, $ errline, array, $ errcontext) {/ p> 

// त्रुटि @ -परेटर के साथ दब गई थी यदि (0 === त्रुटि_रेपोर्टिंग ()) {वापसी झूठी;} नई त्रुटिएक्सेशन ($ errstr, 0, $ errno, $ errfile, $ errline);};

अपने फ़ंक्शन में, आप ऐसा कर सकते हैं:

  फ़ंक्शन myFunction () {... ... try {$ im = imagecreatetruecolor (600, 400); $ MyImage = imagecreatefromjpeg ("http://example.com/file.jpeg"); इमेजकोपी ($ im, $ myImage, 5, 5, 0, 0, 48, 48); } पकड़ (त्रुटिएक्सेप्शन $ पूर्व) {// कुछ भी नहीं करें / या किसी तरह त्रुटि को संभाल कर) // कोड चलाना जारी है ... ... ... ...}  

Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -