एक .inc क्या है और इसका उपयोग क्यों करते हैं?


139

मैं अक्सर PHP में ऐसे उदाहरण देखता हूं जिनमें.in.in फाइलें शामिल हैं। .Inc का अर्थ क्या है? इसका उपयोग किस लिए किया जाता है? इसका उपयोग करने के नुकसान और फायदे क्या हैं?

जवाबों:


268

इसका कोई अर्थ नहीं है, यह सिर्फ एक फाइल एक्सटेंशन है। अगर फ़ाइल को अन्य PHP फ़ाइलों द्वारा शामिल करने के लिए डिज़ाइन किया गया है, तो .inc एक्सटेंशन वाली फ़ाइलों को नाम देना कुछ लोगों का सम्मेलन है, लेकिन यह केवल सम्मेलन है।

इसका एक संभावित नुकसान है, जो कि सर्वरों को सामान्य रूप से .inc फ़ाइलों को php के रूप में कॉन्फ़िगर नहीं किया जाता है, इसलिए यदि फ़ाइल आपके वेब रूट में बैठती है और आपका सर्वर डिफ़ॉल्ट तरीके से कॉन्फ़िगर किया गया है, तो उपयोगकर्ता आपके php स्रोत कोड को देख सकता है। .inc फ़ाइल को सीधे URL पर जाकर देखें।

इसका एकमात्र संभावित लाभ यह है कि यह पहचानना आसान है कि कौन सी फाइलें शामिल हैं। हालाँकि, उन्हें -php एक्सटेंशन देने और उन्हें शामिल फ़ोल्डर में रखने से ऊपर बताए गए नुकसान के बिना एक ही प्रभाव पड़ता है।


8
@domanokz हाँ यह उपयोग करने के लिए सुरक्षित हो जाएगा। यह केवल php के रूप में माना जाएगा जब एक संरचना requireया includeसंरचना में उपयोग किया जाता है और बाकी समय सादे पाठ के रूप में व्यवहार किया जाता है। आपके सर्वर पर पाठ के रूप में इसका इलाज करने से कोई नुकसान नहीं होगा, यह केवल तब दर्द होता है जब आपका कोड अंतिम उपयोगकर्ता को पाठ के रूप में परोसा जाता है)।
पॉल

@Paulpro मैं थोड़ी देर इस बात को सोच रहा था, इसे स्पष्ट करने के लिए धन्यवाद!
RealDeal_EE'18

1
महान व्याख्या। बस एक नई नौकरी की शुरुआत की और पूरे आवेदन के दौरान इन लेट को देखा। मुझे नहीं पता था कि यह विशुद्ध रूप से एक सम्मेलन था। धन्यवाद!
Chev

4
सर्वर को php के रूप में parse.inc फ़ाइलों में कॉन्फ़िगर नहीं किया जा रहा है। यह वास्तव में होने की आवश्यकता नहीं है क्योंकि वे केवल आवश्यकता / शामिल अन्य php फ़ाइलों से पढ़े जाते हैं। सुरक्षित है? जैसा कि पॉलप्रो आपको इंगित करता है कि आप जिज्ञासु अंत उपयोगकर्ता रीडिंग कोड नहीं चाहते हैं, इसलिए आप अपाचे कॉन्फिडेंस में "RedirectMatch 403 /। htaccess
ClearCrescendo

नोट: यह केवल .phpऔर के लिए ही नहीं है .inc। PHP में अन्य फ़ाइल प्रकारों के साथ भी काम शामिल है। जिसमें एक, '.html', '.js', '.css', '.txt' या कोई भी कस्टम फ़ाइल एक्सटेंशन शामिल हैं, जिनके बारे में आप सोच सकते हैं कि इससे PHP parse को PHP कोड पढ़ा जा सकता है। उपयोगी जब आप फ़ाइल आधारित डेटाबेस बनाना चाहते हैं और यह बताना चाहते हैं कि क्या यह डेटाबेस फ़ाइल है। पसंद है .data। आप इसे सुरक्षित करने के लिए ऊपर @ ClearCrescendo की टिप्पणी का उपयोग कर सकते हैं।
जोमार सेविजो

71

यदि आप इसके आउटपुट के बजाय फ़ाइल की सामग्री के बारे में चिंतित हैं। आप एक डबल एक्सटेंशन का उपयोग कर सकते हैं जैसे file.inc.php:। यह तब मदद और बनाए रखने का एक ही उद्देश्य प्रदान करता है।

मेरी साइट पर आमतौर पर प्रत्येक पृष्ठ के लिए 2 php फाइलें हैं:

  1. welcome.phpरूट फ़ोल्डर में एक नाम , सभी HTML मार्कअप से युक्त।
  2. और फ़ोल्डर welcome.inc.phpमें एक और नाम दिया गया है inc, जिसमें welcome.phpपेज के सभी विशिष्ट कार्य शामिल हैं ।

EDIT: डबल .inc.phpएक्सटेंशन का उपयोग करने का एक और लाभ यह होगा कि कोई भी IDE फाइल को PHP कोड के रूप में पहचान सकता है।


4
+1 यह ध्यान देने योग्य है, मैंने अपनी एक परियोजना में ऐसा किया है।
dpp

17

आम तौर पर इसका मतलब है कि इसकी एक फ़ाइल को शामिल करने की आवश्यकता है और यह अपने आप में स्टैंडअलोन स्क्रिप्ट नहीं बनाता है।

यह एक कन्वेंशन है जो एक प्रोग्रामिंग तकनीक नहीं है।

यद्यपि यदि आपका वेब सर्वर ठीक से कॉन्फ़िगर नहीं किया गया है तो यह .inc जैसी एक्सटेंशन वाली फाइलों को उजागर कर सकता है।


12

यह डेवलपर के लिए एक ऐसा तरीका है जो आसानी से उन फाइलों की पहचान करने में सक्षम है, जिन्हें शामिल किया जाना है। यह एक लोकप्रिय सम्मेलन है। इसका PHP के लिए कोई विशेष अर्थ नहीं है , और यह PHP या स्क्रिप्ट के व्यवहार को ही नहीं बदलेगा।


4

यह एक कन्वेंशन है जो प्रोग्रामर आमतौर पर फ़ाइलों को शामिल करने के लिए अलग-अलग फ़ाइल नामों की पहचान करने के लिए उपयोग करता है। ताकि यदि अन्य डेवलपर्स अपने कोड पर काम कर रहे हों, तो वह आसानी से पहचान सके कि यह फ़ाइल क्यों है और फ़ाइल का नाम देखकर इस फ़ाइल का उद्देश्य क्या है।


3

बस जोड़ना है। एक और नुकसान यह होगा कि .inc फाइलें आईडीई द्वारा मान्यता प्राप्त नहीं हैं, इसलिए, आप ऑटो-पूर्ण या कोड भविष्यवाणी सुविधाओं का लाभ नहीं उठा सकते हैं।


2

मेरी राय में, इन्हें विकसित करने के लिए जल्दी से फ़ाइलों को शामिल करने के तरीके के रूप में उपयोग किया गया था। वास्तव में ये सम्मेलनों और रूपरेखा डिजाइनों के साथ अप्रचलित कर दिए गए हैं।


यह अर्थहीन टिप्पणी है। मैं हमेशा फ़ाइलों को शामिल करने के लिए .inc का उपयोग करता हूं क्योंकि यह आसान है और कोई नकारात्मक नहीं है, और केवल सकारात्मक हैं। 'सम्मेलनों' शब्द का कोई संदर्भ नहीं है कि मैं इस संदर्भ में अवगत हूं। और PHP चौखटे, कोई विचार नहीं, कभी भी उन्हें खुद को मत छूएं, मैं कोड लिखता हूं, इसलिए यह धारणा कि 'रूपरेखा' ने PHP कोडिंग को बदल दिया है, सिर्फ गलत है। यदि आप इसे पसंद करते हैं तो सामान का उपयोग करने में कुछ भी गलत नहीं है, लेकिन यह मानते हुए कि यह कोड संपादकों में मानक प्रोग्रामिंग को बदल दिया गया है, सिर्फ गलत है।
छिपकली

1

ध्यान दें कि आप अपाचे को कॉन्फ़िगर कर सकते हैं ताकि सभी फाइलें .incएक्सटेंशन के साथ सीधे URL पर जाकर प्राप्त करने से मना कर दी जाएं।

लिंक देखें: /server/22577/how-to-deny-the-web-access-to-some-files

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.