2011-07-01 10 views
7

मैंने php.ini में 3 एम तक अपलोड सीमा निर्धारित की है। अगर कोई फ़ाइल 50 एमबी अपलोड करता है, तो अपलोड बंद हो जाता है जब यह 3 एमबी हिट करता है या अपलोड पूरा होने तक यह जारी रहता है, तो फाइलसाइज पढ़ता है और फ़ाइल को हटा देता है?PHP अपलोड और बैंडविड्थ/यातायात प्रश्न

+1

जैसे ही यह 3 तक पहुंचता है, यह बंद हो जाएगा। आपको इसका परीक्षण करना चाहिए – Ibu

+0

@Ibu: आप किस सर्वर का उपयोग कर रहे हैं? अपाचे पर आपके परिणाम पुन: उत्पन्न नहीं कर सकते :( – Piskvor

+0

अपाचे * स्वयं * पोस्ट आकार पर एक सीमा है। क्या यह मामला हो सकता है? –

उत्तर

5

यदि आप अपाचे का उपयोग अपने वेब सर्वर के रूप में कर रहे हैं, तो PHP को पूरा होने तक शुरू करने का मौका नहीं मिलता है। इस प्रकार, अपलोड सीमा केवल में के बाद पूरी अपलोड समाप्त होती है। अपाचे पहलेपूरे अनुरोध प्राप्त करता है, और केवल यह उचित हैंडलर (इस मामले में, PHP) का आह्वान करता है। चूंकि और में एक HTTP अनुरोध को निरस्त करने के लिए कोई सर्वर-साइड तंत्र नहीं है, इसलिए प्रतिक्रिया पूरी करने के बाद, आपको पूरा अनुरोध पूरा होने तक प्रतीक्षा करनी होगी।

तो, अपने प्रश्न का उत्तर देने के लिए: NO, अपलोड पूर्ण हो जाएगा; PHP का आंतरिक तर्क अपलोड किए गए फ़ाइल आकार की जांच करेगा, देखें कि यह सीमा से बड़ा है, और फिर त्रुटि के साथ तुरंत विफल हो जाता है। आपकी PHP स्क्रिप्ट नहीं चलाने का मौका पाएं, इसलिए रनटाइम चेक पर भरोसा न करें - उन्हें बिल्कुल निष्पादित नहीं किया जाएगा।

+0

तो कोई वास्तव में आप का दुरुपयोग कर सकता है, और अपने बैंडविड्थ मासिक क्यूटा को बर्बाद कर सकता है या वित्तीय रूप से आपको बर्बाद कर सकता है बड़ी फ़ाइलों को न रोकना बंद करना ताकि आप यातायात को सही तरीके से बर्बाद कर सकें? आपको एडब्ल्यूएस का उपयोग करके मेरे लिए 0.10 सेंट का भुगतान करना होगा। आप उन्हें सीमा से ऊपर बड़ी फाइलें अपलोड करने से कैसे रोक सकते हैं? – BlackBrother

+0

@ ब्लैक ब्रदर: हाँ, यह है (कम से कम सैद्धांतिक रूप से) संभव है। मुझे नहीं पता कि इस तरह के अपमानजनक आईपी पते को अवरुद्ध करके इसे कैसे रोकें। अपाचे के कॉन्फ़िगरेशन निर्देश 'LimitRequestBody' के लिए प्रलेखन से पता चलता है कि यह यहां उपयोगी हो सकता है: http://httpd.apache.org/docs/2.0 /mod/core.htm एल # limitrequestbody – Piskvor

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