PHP फ़ाइल अपलोड: फ़ाइल प्रकार और आकार प्रतिबंध सुनिश्चित करना
PHP में, फ़ाइल अपलोड को संभालने के लिए अक्सर फ़ाइल प्रकार और आकार प्रतिबंधों को सत्यापित करने की आवश्यकता होती है। कोड स्निपेट ने दोनों मानदंडों को मान्य करने का प्रयास किया लेकिन समस्याओं का सामना करना पड़ा। आइए कोड में गहराई से जाएं और त्रुटियों की पहचान करें।
//check file extension and size
$resume = ($_FILES['resume']['name']);
$reference = ($_FILES['reference']['name']);
$ext = strrchr($resume, ".");
$ext1 = strrchr($reference, ".");
यह कोड दोनों फ़ाइलों के फ़ाइल नाम और एक्सटेंशन को कैप्चर करता है। हालाँकि, बाद का सत्यापन तर्क त्रुटिपूर्ण है:
if (!(
($_FILES["resume"]["type"] == "application/doc")
|| ($_FILES["resume"]["type"] == "application/docx")
|| ($_FILES["resume"]["type"] == "application/pdf")
&& (($_FILES["reference"]["type"] == "application/doc")
|| ($_FILES["reference"]["type"] == "application/docx")
|| ($_FILES["reference"]["type"] == "application/pdf"))
&& (($ext == ".pdf") || ($ext == ".doc") || ($ext == ".docx"))
&& (($ext1 == ".pdf") || ($ext1 == ".doc") || ($ext1 == ".docx"))
&& ($_FILES["resume"]["size"] कोड फ़ाइल प्रकारों को मान्य करने के लिए सही तर्क का उपयोग करने में विफल रहता है। MIME प्रकार की जाँच करने के बजाय, यह फ़ाइल नाम एक्सटेंशन पर निर्भर करता है, जो अविश्वसनीय है। इसके अतिरिक्त, आकार सत्यापन दोनों फ़ाइलों पर लागू नहीं होता है। () {
$अनुमति = सरणी('एप्लिकेशन/doc', 'एप्लिकेशन/पीडीएफ', 'एप्लिकेशन/docx');
यदि (in_array($_FILES['resume']['type'], $अनुमति) && in_array($_FILES['reference']['type'], $अनुमति)) {
अगर ($_FILES["रेज़्यूमे"]["आकार"]
यह कोड पहले जांच करता है कि फ़ाइलों के MIME प्रकार अनुमत सूची में शामिल हैं या नहीं। यदि ऐसा है, तो यह सत्यापित करता है कि दोनों फ़ाइल आकार निर्दिष्ट सीमा के भीतर हैं या नहीं। यह सुनिश्चित करता है कि केवल अनुमत फ़ाइल प्रकार और आकार ही अपलोड के लिए स्वीकार किए जाते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3