मैं एक फोरम इंजन में अवतार जोड़ रहा हूं जिसे मैं डिजाइन कर रहा हूं, और मैं बहस कर रहा हूं कि कुछ सरल करना है (फ़ोरम छवि का नाम .png है) और PHP का उपयोग यह जांचने के लिए करें कि फ़ाइल प्रदर्शित करने से पहले मौजूद है या नहीं कुछ और जटिल (लेकिन ज्यादा नहीं) और दिखाने के लिए छवि का नाम रखने के लिए डेटाबेस फ़ील्ड का उपयोग करें।PHP में file_exist() एक बहुत महंगा ऑपरेशन है?
मैं व्यक्तिगत रूप से file_exists() विधि के साथ जाना चाहूंगा, क्योंकि यह मुझे "डिफ़ॉल्ट" अवतार में वापस आने का एक आसान तरीका देता है यदि वर्तमान वाला अस्तित्व में नहीं है (अभी तक), और यह आसान है कोड के अनुसार लागू करें। हालांकि, मैं प्रदर्शन के बारे में चिंतित हूं, क्योंकि फोरम पढ़ने वाले पृष्ठों पर प्रति उपयोगकर्ता प्रति पृष्ठ दिखाए जाने पर यह एक बार चलाया जाएगा। तो मैं जानना चाहता हूं, क्या PHP में file_exists() फ़ंक्शन किसी भी प्रमुख मंदी के कारण होता है जो उच्च ट्रैफ़िक स्थितियों में महत्वपूर्ण प्रदर्शन हिट का कारण बनता है?
यदि नहीं, तो अच्छा है। यदि ऐसा होता है, तो उपयोगकर्ता द्वारा अपलोड की गई छवि का ट्रैक रखने के विकल्पों पर आपकी राय क्या है? धन्यवाद!
पीएस: कोड अंतर मैं देख सकता हूं कि फाइल जांच संस्करण फाइलों को बात करने देता है, जबकि डेटाबेस फॉर्म ट्रस्ट करता है कि डेटाबेस सटीक है और जांच करने के लिए परेशान नहीं है। (यह सिर्फ एक यूआरएल है जो पाठ्यक्रम के ब्राउज़र में पास हो जाता है।)
कैश की जानकारी बहुत आश्वस्त है, मैं file_exists समाधान के साथ जा रहा हूं। हालांकि, बीएलओबी विचार बहुत दिलचस्प लग रहा है, मैं बस बाद में कोशिश कर सकता हूं। धन्यवाद! –
लेकिन बीएलओबी प्रदर्शन के लिए अच्छा नहीं है। आप PHP, MySQL चलाने के ऊपरी हिस्से को प्राप्त करते हैं, और आपको HTTP कैश सत्यापन के लिए समर्थन लिखना होगा, अन्यथा ब्राउज़र अनावश्यक रूप से अवतार डाउनलोड करना जारी रखेंगे। – Kornel
यह ध्यान रखना महत्वपूर्ण है कि PHP केवल उन फ़ाइलों के परिणामों को कैश करेगा जो मौजूद हैं, यह उन फ़ाइलों के परिणामों को कैश नहीं करेगा जो मौजूद नहीं हैं। देखें: http://www.php.net/manual/en/function.clearstatcache.php – Brian