Wednesday 27 December 2017

सामग्री स्वभाव लगाव बाइनरी विकल्प


अंतिम अद्यतन: 12 फरवरी 2018 सामग्री-विच्छेद हेडर - ब्राउज़र्स में सेवएज़ को मजबूर करना हालाँकि हालात (पीडीएफ प्रारूप या एक वित्तीय दस्तावेज़ में दस्तावेज़ को सहेजने के लिए) हैं, जहां आपको ब्राउज़र में एक SaveAs संवाद पेश करने के लिए एक हाइपरलिंक की आवश्यकता हो सकती है। ऐसा करने के तरीके मौजूद हैं। हालांकि, फ्लैकी ब्राउज़र समर्थन का उपयोग खदान क्षेत्र में चलना करता है। इंटरनेट एक्सप्लोरर में जावास्क्रिप्ट का प्रयोग करके SaveAs को मजबूर करना जावास्क्रिप्ट के माध्यम से आप वर्तमान में प्रदर्शित पृष्ठ को सहेजने के लिए एक संवाद प्रदान कर सकते हैं (यदि उपयोगकर्ता आपके पेज पर इंटरनेट एक्सप्लोरर की तलाश कर रहा है)। यह निम्न कोड के माध्यम से किया जाता है: इस पेंग्टाटा को बचाएं हालांकि, आमतौर पर आप दूसरी फाइल सहेजना चाहते हैं, फ़ाइल हाइपरलिंक की ओर जाता है ऐसा करने के लिए जावास्क्रिप्ट पर्याप्त नहीं है (कम से कम कोई ऐसा मानक तरीका नहीं है) और कुछ सर्वर पर किया जाना चाहिए। एचटीएच हेडर का इस्तेमाल करते हुए सेवएज को मजबूर करना हाइपरलिंक पर क्लिक करते समय ब्राउज़र को सहेजीए गए संवाद को दिखाने के लिए मजबूर करने के लिए आपको डाउनलोड करने के लिए फ़ाइल के एचटीपीपी प्रतिक्रिया में निम्नलिखित शीर्षलेख को शामिल करना होगा: सामग्री-डिस्पोज़शन: संलग्नक filenameltfile name. extgt जहां ltfile नाम। extgt फ़ाइल नाम है जिसे आप SaveAs संवाद में दिखाना चाहते हैं (जैसे वित्तीय। Xls या mortgage. pdf) - बिना लेफ्टिनेंट और जीटी प्रतीकों। आपको निम्न को ध्यान में रखना होगा: फ़ाइल नाम US-ASCII वर्णसेट में होना चाहिए और इसमें विशेष वर्ण नहीं होना चाहिए: lt gt। । अंतरिक्ष। फ़ाइल नाम में निर्दिष्ट कोई निर्देशिका पथ जानकारी नहीं होनी चाहिए। फ़ाइल नाम दोहरे उद्धरण चिह्नों में संलग्न होना चाहिए, लेकिन अधिकांश ब्राउज़रों में फ़ाइल के नाम को दोहरे उद्धरण चिह्नों के बिना समर्थन मिलेगा। प्राचीन ब्राउज़रों को भी निम्नलिखित की आवश्यकता होती है (आजकल की आवश्यकता नहीं है, लेकिन एक बेवकूफ़ सबूत समाधान के लिए कर योग्य हो सकता है): सामग्री-प्रकार हैडर सामग्री-विस्थापन से पहले होना चाहिए। सामग्री-प्रकार शीर्षक में अज्ञात MIME प्रकार का उल्लेख होना चाहिए (कम से कम पुराने ब्राउज़रों को जाने तक) इंटरनेट एक्सप्लोरर में कंटेंट-स्ज़ीप समर्थन के बारे में विस्तृत उपयोग यह लगता है कि इंटरनेट एक्सप्लोरर में सामग्री-डिस्पोशन हैडर समर्थन का सबसे खराब रिकॉर्ड है। इस सुविधा में कई सुरक्षा भेद्यताएं थीं और इसके परिणामस्वरूप माइक्रोसॉफ्ट ने कई बार कोड को बदलकर इसे पूरी तरह से तोड़ दिया था प्रैक्टिस ने दिखाया है कि डाउनलोड कोड एक अलग HTTP हेडर पार्सर का उपयोग करता है और अगर वह पार्सर सभी शीर्ष लेख लाइनों को संभालने में असफल रहा है, तो IE फ़ाइल को बिल्कुल भी डाउनलोड करने में विफल रहेगा। इंटरनेट एक्सप्लोरर 9.0 WinInet. dll संस्करण के आधार पर फाइल नाम के साथ फ़ाइल डाउनलोड करने में असफल हो सकता है जिसमें निम्न विशेष वर्ण हैं: lt gt। । अंतरिक्ष। माइक्रोसॉफ्ट नॉलेजबेस आलेख: 9 4 9 1 77 यदि अनुलग्न किया गया है, तो दिए गए फ़ाइल नाम का उपयोग करके सामग्री-विभाजन शीर्षलेख मान बनाएं। फ़ाइल नाम वैकल्पिक है और यदि कोई फ़ाइल नाम वांछित नहीं है, लेकिन आप विकल्पों को निर्दिष्ट करना चाहते हैं अपरिभाषित करने के लिए फ़ाइल नाम सेट करें ध्यान दें कि HTTP हेडर आईएसओ -8859-1 वर्ण सेट की हैं। यदि आप इस शीर्ष लेख को नोड. जेएस में सेट हैडर से अलग एक माध्यम के माध्यम से लिख रहे हैं, तो आप नोड। जेएस में बाइनरी एन्कोडिंग निर्दिष्ट करना चाहते हैं। contentDisposition विकल्प ऑब्जेक्ट में इन गुणों को स्वीकार करता है। यदि फ़ाइल नाम विकल्प आईएसओ -8859-1 से बाहर है, तो फाइल नाम वास्तव में क्लाइंट के लिए पूरक फ़ील्ड में संग्रहीत होता है जो कि यूनिकोड फ़ाइल नामों का समर्थन करता है और फ़ाइल नाम के एक आईएसओ -8859-1 संस्करण स्वचालित रूप से उत्पन्न होता है। यह स्वत: पीढ़ी को ओवरराइड करने के लिए आईएसओ -885 9 -1 फाइल नाम को निर्दिष्ट करता है या पीढ़ी को एक साथ सभी को निष्क्रिय कर देता है, सही के मुकाबले। एक स्ट्रिंग स्वत: पीढ़ी के स्थान पर उपयोग करने के लिए आईएसओ -885 9 -1 फाइल नाम निर्दिष्ट करेगी। गलत एक ISO-8859-1 फ़ाइल नाम को अक्षम कर देगा और इसमें केवल यूनिकोड संस्करण शामिल होंगे (जब तक कि फ़ाइल नाम पहले से ही ISO-8859-1 नहीं है)। अगर फ़ाइल का नाम आईएसओ -8859-1 से बाहर है तो सच्चे सक्षम पीढ़ी को सक्षम करेगा अगर फ़ाइल नाम विकल्प आईएसओ -8859-1 है और इस विकल्प को निर्दिष्ट किया गया है और उसके पास एक अलग मान है, तो फ़ाइल नाम विकल्प विस्तारित फ़ील्ड में एन्कोड किया गया है और यह सेट फ़ॉलबैक फ़ील्ड के रूप में, भले ही वे आईएसओ -8859-1 दोनों ही हैं स्वभाव प्रकार निर्दिष्ट करता है, अटैचमेंट के लिए डिफ़ॉल्ट। यह इनलाइन भी हो सकता है या किसी अन्य मूल्य (इनलाइन को छोड़कर सभी मूल्यों को अनुलग्नक की तरह माना जाता है। लेकिन अगर दोनों पक्ष इस बात से सहमत हैं तो अतिरिक्त जानकारी प्रदान कर सकते हैं)। निम्न प्रकार के मामले में सामान्यीकृत किया गया है। एक सामग्री-विभाजन हेडर स्ट्रिंग पार्स करें यह स्वचालित रूप से विस्तारित (यूनिकोड) पैरामीटर को डीकोडिफ़िकेशन द्वारा और उन्हें मानक पैरामीटर नाम के तहत प्रदान करके प्रबंधित करता है। यह निम्नलिखित गुणों के साथ किसी ऑब्जेक्ट को वापस करेगा (उदाहरण स्ट्रिंग अटैचमेंट फ़ाइलनाम EURO rates. txt filenameUTF-8e282ac20rates. txt के लिए दिखाए गए हैं): प्रकार। स्वभाव प्रकार (हमेशा कम मामला) उदाहरण: लगाव पैरामीटर स्वभाव में पैरामीटर का एक ऑब्जेक्ट (पैरामीटर का नाम हमेशा कम केस और विस्तारित संस्करण गैर-विस्तारित संस्करणों को बदलते हैं) उदाहरण: डाउनलोड करने के लिए एक फ़ाइल भेजें। रिक्त हैडर (स्ट्रिंग स्ट्रिंग, bool true को बदलता है, int httpresponsecode) शीर्षलेख () का उपयोग कच्चे HTTP शीर्षलेख भेजने के लिए किया जाता है। HTTP शीर्षलेखों पर अधिक जानकारी के लिए raquo HTTP1.1 विनिर्देश देखें याद रखें कि किसी भी वास्तविक आउटपुट को भेजे जाने से पहले हेडर () को बुलाया जाना चाहिए, या तो सामान्य HTML टैग द्वारा, फ़ाइल में रिक्त पंक्तियां या PHP से इसमें शामिल होने के साथ कोड पढ़ने में एक बहुत ही सामान्य त्रुटि है या आवश्यकता है। फ़ंक्शंस या अन्य फ़ाइल एक्सेस फ़ंक्शन के पास है, और रिक्त स्थान या रिक्त पंक्तियां हैं जो हेडर () से पहले आउटपुट हैं I एक एकल PHPHTML फ़ाइल का उपयोग करते समय एक ही समस्या मौजूद है lthtmlgt ltphp यह एक त्रुटि दे देंगे उपरोक्त आउटपुट को नोट करें, जो हेडर () कॉल शीर्षलेख (स्थान: उदाहरण) से पहले है exit gt पैरामीटर हेडर स्ट्रिंग। दो विशेष-केस हेडर कॉल हैं। पहला हैडर है जो स्ट्रिंग quot HTTP quot से शुरू होता है (केस महत्वपूर्ण नहीं है), जिसे भेजने के लिए HTTP स्थिति कोड का पता लगाने के लिए उपयोग किया जाएगा उदाहरण के लिए, अगर आपने गायब फाइलों (एरर डॉक्यूमेंट डायरेक्टिव के उपयोग से) के अनुरोधों को संभालने के लिए अपाचे को PHP स्क्रिप्ट का उपयोग करने के लिए कॉन्फ़िगर किया है, तो आप यह सुनिश्चित कर सकते हैं कि आपकी स्क्रिप्ट उचित स्थिति कोड जनरेट करे एलटीपीपी हेडर (HTTP1.0 404 नहीं मिला) gt दूसरा विशेष मामला quotLocation है: quot हैडर। न केवल यह हैडर ब्राउज़र को वापस भेजता है, लेकिन ब्राउज़र से एक रीडायरेक्ट (302) स्थिति कोड भी देता है जब तक कि 201 या 3xx स्थिति कोड पहले ही सेट नहीं हो जाता है। ltphp हैडर (स्थान: उदाहरण) रीडायरेक्ट ब्राउज़र सुनिश्चित करें कि जब हम रीडायरेक्ट करते हैं, तो नीचे दिए गए कोड निष्पादित नहीं होते हैं। exit gt वैकल्पिक वैकल्पिक पैरामीटर इंगित करता है कि शीर्ष लेख को पिछले समान शीर्षलेख को बदलना चाहिए, या एक ही प्रकार का दूसरा शीर्षलेख जोड़ना चाहिए। डिफ़ॉल्ट रूप से इसे बदल दिया जाएगा, लेकिन यदि आप दूसरे तर्क के रूप में गलत तरीके से गुजारें तो आप एक ही प्रकार के कई हेडर को बाध्य कर सकते हैं। उदाहरण के लिए: ltphp हेडर (WWW-Authenticate: Negotiate) हेडर (WWW - प्रमाणीकरण: NTLM। False) gt निर्दिष्ट मूल्य के लिए HTTP प्रतिक्रिया कोड को मजबूर करता है। ध्यान दें कि स्ट्रिंग खाली नहीं है, तो इस पैरामीटर का केवल एक असर होता है। यह ध्यान रखना महत्वपूर्ण है कि हेडर्स वास्तव में भेजा जाता है जब ब्राउज़र के लिए पहला बाइट आउटपुट होता है। यदि आप अपनी स्क्रिप्ट में हेडर की जगह ले रहे हैं, तो इसका अर्थ है कि एपप्रिंट स्टेटमेंट और आउटपुट बफ़र्स की नियुक्ति वास्तव में कौन से हेडर भेजे जा सकती है। रीडायरेक्ट के मामले में, यदि आप शीर्षलेख को भेजने के बाद अपनी स्क्रिप्ट को समाप्त करना भूल जाते हैं, बफ़र जोड़ना या कोई वर्ण भेजना आपके उपयोगकर्ताओं को भेजे जाने वाले पृष्ठ को बदल सकता है। द्वितीय शीर्षलेख के बाद से यह 2.html पर पुनर्निर्देशित करता है। ltphp शीर्षलेख (स्थान: 1.html) शीर्षलेख (स्थान: 2.html) 1.html gt को बदलता है। यह 1.html को पुनर्निर्देश करता है क्योंकि जैसे ही गूंज होता है, जैसे हेडर भेजा जाता है। आप किसी भी हेडर को पहले से ही त्रुटियां नहीं देख पाएंगे क्योंकि ब्राउज़र त्रुटि प्रदर्शित करने से पहले रीडायरेक्ट का अनुसरण करता है। ltphp हेडर (स्थान: 1. एचटीएमएल) गूंज भेजें डेटा हेडर (स्थान: 2. एचटीएमएल) 1. एचटीएमएल पहले ही भेजा गया है gt। आउटपुट बफर में पिछला उदाहरण को लपेटते हुए वास्तव में स्क्रिप्ट के व्यवहार में बदलाव होता है क्योंकि हेडर आउटपुट बफर फ्लश है ltphp obstart () शीर्षलेख (स्थान: 1.html) गूंज भेजें डेटा शीर्षलेख (स्थान: 2.html) 1.html obendflush () को बदल देता है अब हेडर भेजे जाते हैं gt मेरी फ़ाइलें संपीड़ित स्थिति (bz2) में हैं जब उपयोगकर्ता लिंक पर क्लिक करता है, तो मैं उन्हें फ़ाइल के असम्पीडित संस्करण प्राप्त करना चाहता हूं। फ़ाइल को असंपीड़ित करने के बाद, मैं समस्या में भाग गया, कि डाउनलोड डायलॉग हमेशा पॉप अप होगा, भले ही मैंने हमेशा इस ऑपरेशन को इस फ़ाइल प्रकार के साथ डायलॉग करने के लिए कहा। जैसा कि मुझे पता चला, समस्या हेडर निदेश सामग्री-विस्थापन में थी, अर्थात् अनुलग्नक निर्देश। यदि आप चाहते हैं कि आपका ब्राउज़र किसी फ़ाइल में एक सादा लिंक को अनुकरण करने के लिए, तो यह अटैचमेंट बदलकर बदल देगा या इसे सभी को छोड़ देगा और आप ठीक हो जाएंगे यह मुझे समझने में थोड़ी देर लगे और मुझे आशा है कि इसमें किसी और को मदद मिलेगी, जो एक ही समस्या में आती है। एएनएसआई में php फाइल सहेजना कोई भी नहीं है, लेकिन जब यूटीएफ -8 प्रारूप में फ़ाइल को विभिन्न कारणों से सहेजते हैं तो फाइल को किसी भी BOM (बाइट-ऑर्डर मार्क) समर्थन से बचाने के लिए याद रखना। अन्यथा आपको हेडर की समस्या का सामना करना होगा, जो ठीक से नहीं भेजा जा रहा है। Ltphp हेडर (सेट-कुकी: नामधारी) जीटी कुछ इस तरह दे: - चेतावनी: हेडर सूचना को संशोधित नहीं किया जा सकता है - हेडर जो पहले से ही भेजे गए हैं (सी में शुरू होता है: wwwinfo. php: 1) सी में: wwwinfo. php पंक्ति 1 पर एन्कोडिंग के साथ कंटेंट डिस्पोज़शन हैडर भेजने का एकमात्र तरीका आरएफसी 6226 (टूल्स. एफ़फ़ोरोरफ़्लोआरएमआरएफसी 6266) है: सामग्री-डिस्पोज़शन: एटैकेटमेंट फाइलनाम यूटीएफ -8 ई 282 एसी 20 आरएपी पिछड़े संगतता के लिए, क्या भेजा जाना चाहिए: सामग्री-डिस्पोज़शन: अटैचमेंट फाइलनाम EURO फाइलेंमैटुफ -8ई282एसीएआरटेट्स की दरें परिणामस्वरूप, हमें चीनी अक्षरों में एक फाइल नाम Ltphp filename. exe का उपयोग करना चाहिए DispositionField सामग्री-वियोग: अनुलग्नक। sprintf (फ़ाइल नाम। rawurlencode (फ़ाइल नाम))। sprintf (filenameutf-8s। rawurlencode (filename)) हैडर (सामग्री प्रकार: applicationoctet-stream) readfile (filetodownload. exe) gt मैं आईई 6-10, फ़ायरफ़ॉक्स और क्रोम में कोड का परीक्षण किया है। बड़ी फ़ाइलों (100 एमबी) के लिए, मुझे पता चला कि फ़ाइल सामग्री ASAP को फ्लश करने के लिए आवश्यक है, अन्यथा डाउनलोड डायलॉग लंबे समय तक प्रदर्शित नहीं होता है या कभी नहीं। हेडर (सामग्री-प्रकार: एप्लिकेशन-फोर्स-डाउनलोड) हेडर (सामग्री-प्रकार: एप्लिकेशनओक्टेट-स्ट्रीम) हेडर (सामग्री-प्रकार: एप्लिकेशन डाउनलोड) हेडर (सामग्री-विवरण: फ़ाइल) स्थानांतरण) हैडर (सामग्री-लंबाई:। फाइलसिज़ (फ़ाइल)) फ्लश () यह वास्तव में कोई फर्क नहीं पड़ता एफपी एफओपीएएन (फ़ाइल। आर) जबकि (एफओपी (एफओपी)) ईको फ्रेड (एफपी। 65536) फ्लश () बड़े डाउनलोडों के लिए यह आवश्यक है fclose (fp) gt यदि आप इस्तेमाल करते हैं, तो HTTP प्रतिक्रिया 204 बहुत सुविधाजनक हो सकता है 204 सर्वर को तुरंत यह अनुरोध समाप्त करने के लिए कहता है यह उपयोगी है यदि आप जावास्क्रिप्ट (या समान) क्लाइंट-साइड फ़ंक्शन को सर्वर-साइड फंक्शन निष्पादित करने के लिए बिना वर्तमान वेबपेज को रीफ्रेश या बदलना चाहते हैं वैश्विक वैरिएबल आदि को सेट करने के लिए महानगर (स्थिति: 204) (या अन्य कॉल) शीर्षलेख (HTTP1.0 204 कोई प्रतिक्रिया नहीं) डेटाबेस को अद्यतन करने के लिए महान है, वक्तव्य ltphp शीर्षलेख (स्थान: यूआरएल) से पहले (सत्र) लिखने के लिए कॉल ) gt की सिफारिश की जाती है अगर आप यह सुनिश्चित करना चाहते हैं कि पुनरारंभ करने से पहले सत्र को अपडेट किया गया है। हमें ऐसी स्थिति का सामना करना पड़ा जहां पुनर्निर्देशन द्वारा उपयोग की गई स्क्रिप्ट सत्र को सही ढंग से लोड नहीं कर सके क्योंकि पूर्ववर्ती स्क्रिप्ट में इसे अपडेट करने के लिए समय नहीं था (हमने एक डेटाबेस हैंडलर का उपयोग किया था)। बस आपको सूचित करने के लिए, सामग्री-स्थानांतरण-एन्कोडिंग और सामग्री-एन्कोडिंग के बीच उलझन में मत हो, कंटेंट-ट्रांसफर-एन्कोडिंग, एचटीटीपी प्रोटोकॉल के अंदर डेटा को हस्तांतरित करने के लिए उपयोग किए जाने वाले एन्कोडिंग को निर्दिष्ट करता है, जैसे कि कच्चे बाइनरी या बेस 64। (बाइनरी आधार64 की तुलना में अधिक कॉम्पैक्ट है। बेस 64 को 33 ओवरहेड है)। उदाहरण का उपयोग करें: - शीर्ष लेख (सामग्री-स्थानांतरण-एन्कोडिंग: बाइनरी) सामग्री-एन्कोडिंग सामग्री डेटा के लिए gzip संपीड़न जैसी चीजों को लागू करने के लिए उपयोग किया जाता है। उदाहरण का उपयोग करें: - शीर्ष लेख (सामग्री-एन्कोडिंग: gzip) आप यह सुनिश्चित करने के लिए कि आप पहले से ही कैश्ड किए गए ब्राउज़र डेटा नहीं भेज रहे हैं, HTTP एटैग और अंतिम संशोधित दिनांक का उपयोग कर सकते हैं। ltphp lastmodifiedtime filemtime (फ़ाइल) etag md5file (फ़ाइल) हैडर (अंतिम-संशोधित:। जीएमडीएट (डी, डी MYH: i: एस। अंतिम समयोचित समय)। जीएमटी) शीर्षलेख (एटाग: एटाग) यदि (स्ट्रॉटोमेम (सर्वर HTTPIFMODIFIEDSINCE) अंतिम रूप से संशोधित समय ट्रिम ( सर्वर HTTPIFNONEMATCH) एटगेट (HTTP1.1 304 संशोधित नहीं है) exit gt यदि आप शीर्ष लेख को हटाना चाहते हैं और इसे हेडर प्रतिक्रिया के भाग के रूप में भेजा जाना चाहते हैं, तो हेडर नाम के बाद हेडर मान के रूप में कुछ नहीं प्रदान करें। उदाहरण के लिए। PHP, डिफ़ॉल्ट रूप से, हमेशा निम्न शीर्ष लेख देता है: आपका संपूर्ण हेडर प्रतिक्रिया HTTP1.1 200 जैसा दिखता है: ठीक सर्वर: अपाचे 2.2.11 (यूनिक्स) एक्स-पावर-द्वारा: PHP5.2.8 दिनांक: शुक्र, 16 अक्टूबर 2009 23: 05:07 जीएमटी सामग्री-प्रकार: टेक्सटाइम वर्णसेटयूटीएफ -8 कनेक्शन: बंद करें यदि आप हेडर का नाम बिना किसी मूल्य के कॉल करते हैं आपके हेडर अब इस तरह दिखते हैं: HTTP1.1 200 ओके सर्वर: अपाचे 2.2.11 (यूनिक्स) एक्स-पावर-द्वारा: PHP5.2.8 दिनांक: शुक्र, 16 अक्टूबर 2009 23:05:07 GMT कनेक्शन: करीब मैं सिर्फ जोड़ना चाहता हूं , क्योंकि मैं यहां बहुत सारे गलत प्रयुक्त हेडर देखता हूं। 1. सभी इस्तेमाल किए गए हेडर में सबसे पहले अक्षर अपरकेस हैं, इसलिए आपको इस का पालन करना होगा। उदाहरण के लिए: स्थान, स्थान सामग्री नहीं, सामग्री प्रकार की नहीं, न ही सामग्री प्रकार, न ही सामग्री-प्रकार 2। फिर वहां बृहदान्त्र और स्थान होना चाहिए, जैसे अच्छा: हैडर (सामग्री-प्रकार: टेक्स्टप्लेन) गलत: हैडर (सामग्री-प्रकार: टेक्स्टप्लेन ) 3. स्थान हैडर को योजना, डोमेन, पोर्ट, पथ आदि के साथ पूर्ण यूरी होना चाहिए। 4. सापेक्ष यूआरआई को गलत अनुमति नहीं है: स्थान: कुछ। Phpa1 गलत: स्थान। a1 यह प्रॉक्सी सर्वर और HTTP क्लाइंट को खुश करेगा बहुत सारे अनुसंधान और परीक्षण के बाद, आईडी इंटरनेट एक्सप्लोरर और फाइल डाउनलोड के साथ मेरी समस्याओं के बारे में अपने निष्कर्षों को साझा करना है I इस कोड पर एक नज़र डालें, जो जावास्क्रिप्ट की सामान्य डाउनलोड की प्रतिलिपि बनाता है: ltphp if (strstr (serverver HTTPUSERAGENT, MSIE) false) शीर्ष लेख (सामग्री-प्रकार: पाठ जावास्क्रिप्ट) हैडर (सामग्री-प्रतिपादन: इनलाइन फाइलनाम डाउनलोड। जेएस) शीर्ष लेख (सामग्री - लैम्बन:। फाईलिज़ (my-file. js)) और हेडर (कंटेंट-टाइप: एन्फोर्स-डाउनलोड) हेडर (कंटेंट-डिस्पोज़शन: अटैचमेंट फाइलनामटेड डाउनलोड। जेएस) हैडर (कंटेंट-लम्बाई: फाइल्सइज़ (मेरी-फाइल. जेएस) ) हेडर (कैश-कंट्रोल: नो-कैश) हैडर (प्रोगा: नो-कैश) में शामिल हैं (माइक्रोसॉफ्ट) file. js) gt अब मुझे समझाने दो: मैं IE के लिए जाँच कर बाहर शुरू, तो अगर नहीं, तो मैं जेएस करने के लिए सामग्री प्रकार (मामले के प्रति संवेदनशील) सेट और सामग्री प्रतिस्थापन सेट (हर हेडर अब से मामला संवेदनशील है ) को इनलाइन करने के लिए, क्योंकि IE के बाहर अधिकांश ब्राउज़र जेएस इनलाइन प्रदर्शित करना चाहते हैं। (उपयोगकर्ता सेटिंग्स बदल सकते हैं)। डाउनलोड बॉक्स सक्रिय करने के लिए कुछ ब्राउज़र के लिए सामग्री-लंबाई शीर्षलेख आवश्यक है। फिर, अगर यह IE है, तो एप्लिकेशन-डाउनलोड सामग्री-प्रकार कभी-कभी डाउनलोड बॉक्स को दिखाने के लिए आवश्यक है। इसका प्रयोग करें यदि आप अपने पीडीएफ को ब्राउज़र में दिखाना नहीं चाहते (आईई में)। मैं यह सुनिश्चित करने के लिए यहां बॉक्स का उपयोग करता हूं। फिर भी, मैं अटैचमेंट के लिए सामग्री-विस्थापन को सेट करता हूं क्योंकि मुझे पहले से ही पता है कि बॉक्स दिखाई देगा। फिर मेरे पास सामग्री-लंबाई फिर से है अब, मेरे बड़े बिंदु heres। मेरे पास कैश-कंट्रोल और प्रागमा हेडर हैं, जो केवल IE नहीं हैं I इन शीर्षकों को आईई पर डाउनलोड करने से रोक दिया जाएगा। केवल समय सीमा समाप्त का उपयोग करें, आखिरकार, अगली बार फाइल को फिर से डाउनलोड करने की आवश्यकता होगी यह एक बग IE भंडार डाउनलोड नहीं है अस्थाई इंटरनेट फ़ाइलें फ़ोल्डर में डाउनलोड पूरा होने तक। मुझे यह पता है क्योंकि एक बार मैंने अपने दस्तावेज़ों में एक बड़ी फाइल डाउनलोड की, लेकिन डाउनलोड संवाद बॉक्स इसे अस्थायी फ़ोल्डर में डाल दिया और इसे अंत में स्थानांतरित कर दिया। बस इसके बारे में सोचो। यदि IE को अस्थायी फ़ोल्डर में फाइल डाउनलोड करने की आवश्यकता है, तो कैश-कंट्रोल और प्रोगा शीर्षलेख सेट करने से मुझे एक त्रुटि का कारण होगा, जिससे मुझे उम्मीद है कि यह किसी को कुछ समय बचाता है यह एक PHP स्क्रिप्ट है जिसे मैं एक फ़ाइल स्ट्रीम करने के लिए लिखा था और इसे एक्सर ऑपरेशन बाइट्स पर और एक कुंजी के साथ एन्क्रिप्शन बहुत अच्छा काम करता है लेकिन गति 2 से कम हो जाती है, यह अब 520 केबीबी है उपयोगकर्ता को अब एक एमडी 5 पासवर्ड (इसे सीधे कोड में रखने के बजाय) के लिए कहा गया है। फ्रेंच में कुछ हिस्सा है क्योंकि इसकी मेरी मूल भाषा में इसे जितना चाहें संशोधित किया जाता है। एलटीपीपी स्ट्रीम फाइलें और ऑन-द-फ्लाई डेटा को एन्क्रिप्ट करें - फाइल को स्ट्रीम करने के लिए फ़ाइल - FILEout - बफर बफरलिंगिंग पढ़ना 3840 - हेक्स कीचर में कुंजी 9cdfb439c7876e703e307864c9167a15 फ़ंक्शन: बाइनरी फ़ंक्शन हेक्स 2 बीन (एच) में स्ट्रिंग में रूपांतरण हेक्स कुंजी यदि ( isstring (h)) (एक 0 (एक 2) एलटी strlen (एच) ए) टा hexdec (एच 2 एक) टीबी hexdec (एच (2 ए 1)) आरए (int) ((टा) के लिए रिक्त आर ऐरे () वापसी) लिट्लटी 4) टीबी) वापसी के लिए एथ हेडर्स फंक्शन askPassword भेजने के लिए फ़ंक्शन (पाठ पासवर्ड दर्ज करें) हेडर (WWW - प्रमाणीकरण: बेसिक क्षेत्र। utf8decode (text)।) शीर्षलेख (HTTP1.0 401 अनधिकृत) वापसी 1 कुंजी पहली शुरुआत यदि (isset (सर्वर पीएपीएयूथपीडब्ल्यू)) askPassword () गूंजता है एक अन्तर्निर्मित एलटीबीआर gt बाहर निकलें हेक्स केचर में चाबी प्राप्त करें सर्वर पीएपीएयूथपीड कुंजी कन्वर्ट करें और कुंजी कुंजी हेक्स 2 बीन (कीचर) कीललाइमेंट गणना (कुंजी) परीक्षण का आकार सेट करें सीएएल एट वेलैड एन हेक्स अगर (कुंजी कीलैन्मेंट एलटी 4) पूछना पासवर्ड (सीएल गलत) गूंज करें गलत गलत एलटीबीआर जीआर निकास () परीक्षा दो दिनों में लंबे समय से दोपहर का समय है अगर ((कीलैंप 2) 0) पूछेंपैसवर्ड (क्लास लँगयूयूआर गलत (2 से अधिक अनियमितता)) क्लोन लाँगयूअर गलत ) ltbr gt निकास () हेडर हैडर (सामग्री-प्रकार: आवेदन-वस्तु-धारा) शीर्ष लेख (सामग्री-स्थानांतरण-एन्कोडिंग: बाइनरी) शीर्षलेख (सामग्री-लंबाई: filesize (फ़ाइल) ) हैडर (फ़ाइलनाम फ़ाइल।) फ्लश () यह वास्तव में कोई फर्क नहीं पड़ता। फ़ाइल को केवल-पढ़ने के लिए एफपी एफओपीएन (फाइल। आर) में खोलते समय (एफओएफ (एफओपी)) फ़ाइल बफर फ़्रेड (एफपी बफरलाइन) के बफ़र आकार को पढ़ें (आई 0 आईएलटी बफर लैलेंथ आई) कुंजी को पढ़ा जाता है पूरी फाइल को क्रिप्ट करने के लिए लूप में अगर (i कीललाँग 0) j 0 कुंजी और फ़ाइल को क्रिप्ट के बीच एक एक्सऑर ऑपरेशन को लागू करें यह ऑपरेशन बहुत सारे सीपीयू समय (मेरे सर्वर इंटेल E2180 पर स्ट्रीम 1 एमबीबीएस) टीएमपी पैक (सी। कुंजी जे) बफर ई (बफर आई टीएमपी) लेफ्टिनेंट ले फ़ामेक्स एक्सओआर एन्क्रिप्टेड डाटा इको बफर भेजें मेमोरी बफर ई जम्मू बफर फ्लश को साफ करें () यह बड़े डाउनलोड्स fclose (fp) exit () के लिए जरूरी है फ़ाइल बंद करें और इसके समाप्त fclose (fp ) पृष्ठ में सब कुछ से पहले ज़ीरो बाइट ऑर्डर मार्क हैडर से बचें। यहां तक ​​कि एक भी स्थान आपकी स्क्रिप्ट को तोड़ देगा मेरे मामले में, एन्कोडिंग में बॉम सेट था, इसलिए मैंने नोटपैड के साथ फाइल को खोल दिया और यूटीएफ -8 (कोई बीओएम) और वोइला को एन्कोडिंग सेट नहीं किया, अब सब कुछ बहुत अच्छा काम कर रहा है मैं यह निर्धारित करने की कोशिश कर रहा हूं कि इंटरनेट एक्सप्लोरर 7 कंटेंट-डिस्पोज़शन पर निर्दिष्ट फ़ाइल नाम के आधार पर एक डाउनलोड को बचाने के लिए उपयोगकर्ता को क्यों नहीं प्रेरित करता है: अटैचमेंट फाइलनाम हेडर लाइन मैंने अंततः यह निर्धारित किया कि मेरा अपाचे अधिष्ठापन एक अतिरिक्त शीर्षक जोड़ रहा था: भिन्न: मेजबान, जो IE को फेंक रहा था - समर्थन के अनुसार। Microsoftkb824847 मैंने मैन्युअल रूप से PHP के भीतर से अलग हैडर सेट किया है, जैसा हैडर (भिन्न: उपयोगकर्ता-एजेंट) इरादा के रूप में व्यवहार करना आशा है कि यह किसी और को कुछ समय बचाता है, किसी फ़ाइल की एन्कोडिंग सामग्री-प्रकार, एचटीएमएल मेटा टैग में या HTTP हैडर के भाग के रूप में खोज की जाती है। इस प्रकार, सर्वर और ब्राउज़र की आवश्यकता नहीं है - न ही उम्मीद है - एक यूनिकोड फाइल को एक बीओएम मार्क के साथ शुरू करने के लिए BOMs निक्स सिस्टम को भी भ्रमित कर सकते हैं Unicode. orgfaqutfbom. html bomb1 पर और जानकारी अन्य नोट पर: सफारी CMYK छवियों को प्रदर्शित कर सकते हैं (कम से कम ओएस एक्स संस्करण, क्योंकि यह क्विकटाइम की सेवाओं का उपयोग करता है) एक स्थान हैडर सेट करने से ब्राउज़र को रीडायरेक्ट (302) स्थिति कोड वापस नहीं दिया जाता है 201 या 3xx स्थिति कोड पहले ही सेट कर दिया गया है। यदि आप किसी POST अनुरोध पर प्रतिक्रिया भेज रहे हैं, तो आप आरएफसी 2616 अनुभाग 10.3.3 और 10.3.4 पर देखना चाहेंगे। यह सुझाव दिया जाता है कि यदि आप चाहते हैं कि ब्राउज़र इस स्थिति में तुरंत स्थान शीर्षक में संसाधन प्राप्त करे, तो आपको 303 स्थिति कोड 302 (बहुत पुराने ब्राउज़रों के लिए शरीर में हाइपरटेक्स्ट के समान लिंक के साथ) का उपयोग करना चाहिए। बग 429 9 में उल्लिखित परिणामों में यह (दुर्लभ) परिणाम हो सकता है। अगर दिए गए फाइल नाम का उपयोग करते हुए अनुलग्नक सामग्री-विच्छेदन हेडर मान बनाएं, तो। फ़ाइल नाम वैकल्पिक है और यदि कोई फ़ाइल नाम वांछित नहीं है, लेकिन आप विकल्पों को निर्दिष्ट करना चाहते हैं अपरिभाषित करने के लिए फ़ाइल नाम सेट करें ध्यान दें कि HTTP हेडर आईएसओ -8859-1 वर्ण सेट की हैं। यदि आप इस शीर्ष लेख को नोड. जेएस में सेट हैडर से अलग एक माध्यम के माध्यम से लिख रहे हैं, तो आप नोड। जेएस में बाइनरी एन्कोडिंग निर्दिष्ट करना चाहते हैं। contentDisposition विकल्प ऑब्जेक्ट में इन गुणों को स्वीकार करता है। यदि फ़ाइल नाम विकल्प आईएसओ -8859-1 से बाहर है, तो फाइल नाम वास्तव में क्लाइंट के लिए पूरक फ़ील्ड में संग्रहीत होता है जो कि यूनिकोड फ़ाइल नामों का समर्थन करता है और फ़ाइल नाम के एक आईएसओ -8859-1 संस्करण स्वचालित रूप से उत्पन्न होता है। यह स्वत: पीढ़ी को ओवरराइड करने के लिए आईएसओ -885 9 -1 फाइल नाम को निर्दिष्ट करता है या पीढ़ी को एक साथ सभी को निष्क्रिय कर देता है, सही के मुकाबले। एक स्ट्रिंग स्वत: पीढ़ी के स्थान पर उपयोग करने के लिए आईएसओ -885 9 -1 फाइल नाम निर्दिष्ट करेगी। गलत एक ISO-8859-1 फ़ाइल नाम को अक्षम कर देगा और इसमें केवल यूनिकोड संस्करण शामिल होंगे (जब तक कि फ़ाइल नाम पहले से ही ISO-8859-1 नहीं है)। अगर फ़ाइल का नाम आईएसओ -8859-1 से बाहर है तो सच्चे सक्षम पीढ़ी को सक्षम करेगा अगर फ़ाइल नाम विकल्प आईएसओ -8859-1 है और इस विकल्प को निर्दिष्ट किया गया है और उसके पास एक अलग मान है, तो फ़ाइल नाम विकल्प विस्तारित फ़ील्ड में एन्कोड किया गया है और यह सेट फ़ॉलबैक फ़ील्ड के रूप में, भले ही वे आईएसओ -8859-1 दोनों ही हैं स्वभाव प्रकार को निर्दिष्ट करता है, quotattachmentquot के लिए डिफ़ॉल्ट यह भी quotinlinequot हो सकता है या किसी अन्य मूल्य (इनलाइन को छोड़कर सभी मूल्यों को अनुलग्नक की तरह माना जाता है। लेकिन अगर दोनों पक्ष इस बात से सहमत हैं तो अतिरिक्त जानकारी प्रदान कर सकते हैं)। निम्न प्रकार के मामले में सामान्यीकृत किया गया है। एक सामग्री-विभाजन हेडर स्ट्रिंग पार्स करें यह स्वत: विस्तारित (quotUnicodequot) पैरामीटर को उन्हें डिकोड करके और उन्हें मानक पैरामीटर नाम के तहत प्रदान करता है। यह निम्नलिखित गुणों वाला एक ऑब्जेक्ट वापस करेगा (उदाहरण स्ट्रिंग अटैचमेंट filenamequotEURO rates. txtquot filenameUTF-8e282ac20rates. txt के लिए दिखाए गए हैं): प्रकार। स्वभाव प्रकार (हमेशा कम मामला) उदाहरण: लगाव पैरामीटर स्वभाव में पैरामीटर का एक ऑब्जेक्ट (पैरामीटर का नाम हमेशा कम केस और विस्तारित संस्करण गैर-विस्तारित संस्करणों को बदलते हैं) उदाहरण: डाउनलोड के लिए एक फाइल भेजें

No comments:

Post a Comment