2010-05-19 18 views
6

मैं PHP docs पर इस बारे में कुछ पढ़ा के बजाय डाल का उपयोग कर, लेकिन यह मेरे लिए स्पष्ट नहीं है:पीएचपी अपलोड फ़ाइल पोस्ट

  1. सबसे व्यापक रूप से इस्तेमाल किया ब्राउज़रों (आईई, एफएफ, क्रोम, सफारी, ओपेरा करते हैं, ...) फ़ाइलों को अपलोड करने के लिए इस PUT विधि का समर्थन करें?

  2. ब्राउज़र को PUT अनुरोध के माध्यम से सर्वर को कॉल करने के लिए मुझे किस HTML को लिखना चाहिए? मेरा मतलब है कि मुझे FORM को INPUT फ़ाइल फ़ील्ड के साथ लिखने की आवश्यकता है और केवल method="POST"method="PUT" के साथ विशेषता को प्रतिस्थापित करें?

  3. पीएचपी डॉक्स पर (ऊपर लिंक) वे कहते हैं कि एक PUT अनुरोध एक POST अनुरोध तुलना में बहुत सरल जब यह लाभ के साथ, फ़ाइल को अपलोड करने के साथ है, क्या अन्य लाभ/disadvanatges कर PUTPOST की तुलना में मिल गया है?

+0

यह वास्तव में एक डुप्ली आईएमओ नहीं है, यह प्रश्न विशेष रूप से फ़ाइल अपलोड में विधि का उपयोग करने से संबंधित है। –

उत्तर

1

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

साथ ही, किसी भी अतिरिक्त फॉर्म मान को संभालने के लिए आप अपनी फ़ाइल के साथ भेजना चाहते हैं और अधिक कठिन हो जाता है।

मैं इसका उपयोग नहीं करता। थोड़ा वास्तविक लाभ के लिए रास्ता बहुत अधिक परेशानी है।

+0

yiur सुझाव के लिए धन्यवाद। यहां PHP वेबसाइट में एक समुदाय टिप्पणी है जो यह बताती है कि सर्वर पर इसे कैसे किया जाए, यह एक बड़ा प्रयास प्रतीत नहीं होता है जो केवल थोड़ी सी। Htaccess फ़ाइल सेट करने के लिए होता है। क्या टिप्पणीकर्ता क्लाइंट ब्राउज़र पर ऐसा करने के तरीके को याद करता है। –

+0

@ क्लार्क पक्ष पर मार्को, यह एक साधारण '

'होना चाहिए। (अद्यतन: @ मारियो के अनुसार, यह पर्याप्त नहीं है। उसका उत्तर जांचें।) लेकिन जैसा कि मैंने कहा, जबकि प्रमुख ब्राउज़र इसका समर्थन करते हैं, कई ग्राहक पुस्तकालय, घटक, विदेशी ब्राउज़र और अन्य क्लाइंट नहीं हो सकते हैं। –

0

PUT ब्राउज़र द्वारा बहुत व्यापक रूप से समर्थित नहीं है, और आमतौर पर इंटरैक्टिव HTML फॉर्मों के लिए उपयोग नहीं किया जाता है।

0

तथ्य यह है कि PUT का उपयोग शायद ही कभी इस उद्देश्य के लिए किया जाता है और केवल प्रमुख ब्राउज़रों द्वारा समर्थित इसे किसी भी संभावित उपयोग से बाहर कर देता है।

6

पुट विधि < फॉर्म > से उपयोग नहीं किया जा सकता है। एमएसआईई उपयोगकर्ता जीयूआई के माध्यम से इसका समर्थन नहीं करता है। हालांकि आप XMLHttpRequest का उपयोग कर सकते हैं। ऐसा लगता है कि मानक और WHATWG/HTML5 में परिभाषित किया गया है। मेरा ब्राउज़र (ओपेरा) स्पष्ट रूप से इसे पसंद करता है।

http://old.mnot.net/javascript/xmlhttprequest/ आईई भी काम कर सकता है, क्योंकि एक छोटी Google खोज से पता चलता है। और फ़ायरफ़ॉक्स ठीक दिखता है। क्रोम या वेबकिट की जांच नहीं की गई।

सर्वर-साइट आपको आने वाले PUT अनुरोध को संभालने के लिए विशेष रूप से नामित स्क्रिप्ट की आवश्यकता है। अपाचे दस्तावेज़ों में देखें। एक mod_rewrite नियम आमतौर पर कर सकते हैं। पीयूटी का जेनरल एडवांटेज यह है कि एक मल्टीपार्ट/* माइम प्रकार में आवश्यक फ़ाइल एन्कोडिंग/मार्शलिंग नहीं है। सिद्धांत रूप में यह बड़ी फ़ाइलों को अधिक विश्वसनीय रूप से अपलोड करने की अनुमति देता है। यद्यपि यदि आप PHP का उपयोग करते हैं, तो यह आपकी बहुत मदद नहीं करेगा। यह WebDAV समर्थन और/या प्रत्यक्ष फाइल सिस्टम लेखन के साथ वेबसर्वर के लिए है। (यदि आप इसका उपयोग करते हैं तो अपाचे अपलोड की गई फाइलों को ही सहेज सकता है।)

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