2010-11-17 10 views
15

मेरे पास फाइलों से निपटने वाले कई इनपुट के साथ एक फॉर्म है। यह सुनिश्चित करने के लिए जावास्क्रिप्ट सत्यापन बहुत अच्छा है कि सब कुछ अच्छा है, लेकिन कुछ चीजों को PHP की जांच करने की आवश्यकता होती है (फ़ाइल के माइम प्रकार की तरह), और कभी-कभी इसे अस्वीकार कर दिया जाएगा।विफल सत्यापन के बाद इनपुट प्रकार = फ़ाइल के मान को पुनर्स्थापित करना

समस्या यह है कि, जब मैं उपयोगकर्ता को फॉर्म पर वापस भेजता हूं, तो मैं फ़ाइल के प्रकार के साथ इनपुट को छोड़कर, मूल रूप से इनपुट के सभी डेटा को दोहरा सकता हूं। फ़ायरफ़ॉक्स पूर्ण फ़ाइल पथ प्रदान नहीं करता है इसलिए मैं इनपुट के लिए फ़ाइल पथ में प्रतिलिपि नहीं बना सकता।

इनपुट प्रकार = फ़ाइल फ़ॉर्म तत्वों को दोबारा बदलने के लिए मैं क्या कर सकता हूं?

उत्तर

14

आप फ़ाइल इनपुट को पॉप्युलेट नहीं कर सकते हैं, ऐसा करने के लिए गंभीर सुरक्षा समस्या होगी।

इसके बजाय, अपलोड की गई सामग्री को सर्वर पर संग्रहीत करें और एक आईडी संग्रहीत करें जिसका उपयोग आप छिपे हुए इनपुट में संदर्भित करने के लिए कर सकते हैं।

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

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