2013-07-26 5 views
5

1. क्या कोडनिर्देशक की अपलोड लाइब्रेरी encrypt_name विकल्प अद्वितीय होने की जांच करता है?कोडनिर्देशक अपलोड करें एन्क्रिप्ट_नाम विशिष्टता

मुझे पता है कि overwrite विकल्प महत्वपूर्ण है। यदि overwriteTRUE है, तो यह ओवरराइट होगा और यदि यह FALSE है, तो यह नाम के अंत में एक संख्या जोड़कर फ़ाइल का नाम बदल देगा।

सवाल यह है: यह एक अनूठा नाम भले ही overwriteTRUE है खोजने जब तक एन्क्रिप्टेड नाम को पुनर्जीवित करेगा? मैं यह पूछता हूं क्योंकि यह स्पष्ट है कि जब हम एन्क्रिप्टेड नाम चाहते हैं, निश्चित रूप से हम ओवरराइट नहीं करना चाहते हैं।

कुछ संख्याओं को जोड़कर नाम बदलने में समस्या यह है कि यह फ़ाइल नामों के आकार को दूषित करता है। कई फाइलों में 32 वर्ण फ़ाइल नाम होंगे, और कुछ में 33 वर्ण फ़ाइल नाम हो सकते हैं जो समन्वय को दूषित करता है।

2. क्या यह हमेशा एक डुप्लिकेट परिणाम उत्पन्न करना संभव है?

+0

यदि 'ओवरराइट'' सत्य' पर सेट किया गया है तो मौजूदा फ़ाइल के साथ मिलान किए गए एन्कोडेड नाम को पहले की फ़ाइल को प्रतिस्थापित कर दिया जाएगा अन्यथा यह वर्तमान अपलोड की गई फ़ाइल का नाम बदल देगा। –

+0

क्षमा करें, क्षमा करें, मेरा मतलब है कि अगर 'गलत' हो तो ओवरराइट करें। क्यू संपादित किया गया। आपकी टिप्पणी के लिए धन्यवाद। –

+0

हां, यहां तक ​​कि यह पहले से अपलोड की गई फ़ाइल से मेल खाता है जो असंभव के बगल में है, यह अपलोड की जा रही फ़ाइल का नाम बदल देगा। –

उत्तर

6

चूंकि कोडनिर्देशक एन्क्रिप्टेड फ़ाइल नाम उत्पन्न करने के लिए md5(uniqid(mt_rand())) का उपयोग कर रहा है, मुझे लगता है कि आपको PHP docs for uniquid में आपका उत्तर मिल जाएगा।

संक्षिप्त उत्तर (2 के लिए) होगा: शायद, लेकिन शायद नहीं।

और अपने पहले प्रश्न का उत्तर देने के लिए: नहीं, सीआई एक नया एन्क्रिप्टेड फ़ाइल नाम उत्पन्न नहीं करता है, अगर यह पहले से मौजूद है। यह नाम के अंत में एक संख्या जोड़ता है।

/libraries/Upload.php के स्रोत कोड पर एक छोटी नज़र, लाइन 415, मदद करता है।

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