سلسلة محاضرات ASP (14) تحتوي على ملفات
الكاتب:Eve Cole
وقت التحديث:2009-05-30 19:58:52
يوفر توجيه SSI للمستخدمين طريقة لإدراج محتويات ملف واحد في ملف آخر قبل معالجته بواسطة خادم الويب. يستخدم ASP فقط التوجيه #include لهذه الآلية. لإدراج ملف في ملف .asp، استخدم بناء الجملة التالي:
<!--#تضمين ملف افتراضي = "اسم الملف"-->
تشير الكلمات الأساسية الافتراضية والملفية إلى نوع المسار المستخدم لتضمين الملف، واسم الملف هو مسار واسم الملف الذي تريد تضمينه.
لا تتطلب الملفات المضمنة امتدادًا محددًا للملف، ومع ذلك، فمن الممارسات البرمجية الجيدة إعطاء الملفات المضمنة امتداد .inc لتمييزها عن أنواع الملفات الأخرى.
استخدام الكلمة الأساسية الظاهرية استخدم الكلمة الأساسية الظاهرية للإشارة إلى أن المسار يبدأ في دليل ظاهري. على سبيل المثال، إذا كان الملف المسمى Footer.inc ينتمي إلى دليل ظاهري يسمى /Myapp، فسيقوم السطر التالي بإدراج محتويات Footer.inc في الملف الذي يحتوي على هذا السطر:
<!--#include virtual ="/myapp/footer.inc"-->
استخدام الكلمة الأساسية للملف استخدم الكلمة الأساسية للملف للإشارة إلى استخدام المسارات النسبية. تبدأ المسارات النسبية من الدليل الذي يحتوي على ملف التضمين. على سبيل المثال، إذا كانت ملفاتك موجودة في الدليل Myapp وكان الملف Header1.inc موجودًا في MyappHeaders، فسيقوم السطر التالي بإدراج Header1.inc في ملفك:
<!--#include file ="headers/header1.inc"-->
لاحظ أن المسار إلى الملف المضمن Headers/header1.inc يتعلق بالملف المتضمن؛ إذا لم يكن البرنامج النصي الذي يحتوي على عبارة #include موجودًا في الدليل /Myapp، فلن يكون للعبارة أي تأثير.
إذا تم تحديد الخيار "تمكين الدليل العلوي" في Internet Services Manager، فيمكنك أيضًا استخدام الكلمة الأساسية file وبناء الجملة ../ لتضمين الملفات في الدليل الأصلي، أي الدليل العلوي.
موقع الملفات المضمنة يمكن أن تكون الملفات المضمنة موجودة في دليل داخل موقع الويب الخاص بك أو خارج موقع الويب الخاص بك. عادةً، يجب أن تكون الملفات المضمنة موجودة في دليل موقع الويب الخاص بك. إذا كان هناك ملف مضمن داخل موقع الويب الخاص بك، فسيتم عرض التغييرات التي تم إجراؤها على الملف المضمن في المرة التالية التي يطلب فيها المتصفح الملف المضمن. ومع ذلك، إذا كان الملف المضمن موجودًا خارج موقع الويب الخاص بك، فلن ينعكس التغيير حتى يتم إعادة تشغيل تطبيق ASP أو إعادة تشغيل خادم الويب. يكتشف ASP التغييرات التي تطرأ على أي ملفات مضمنة في مساحة اسم التطبيق (ضمن الدليل الرئيسي للتطبيق).
الملفات المضمنة: تلميحات وتحذيرات يمكن أن يتضمن الملف المضمن أيضًا ملفات أخرى. يمكن أن يتضمن ملف .asp نفس الملف عدة مرات إذا كانت توجيهات #include لا تسبب تكرارات. على سبيل المثال، إذا كان الملف First.asp يحتوي على الملف Second.inc، فيجب ألا يحتوي Second.inc على First.asp. لا يمكن أن يحتوي الملف على نفسه. يكتشف ASP مثل هذه الأخطاء المتكررة أو المتداخلة، وعند اكتشافها، يقوم بإنشاء رسالة خطأ ويتوقف عن معالجة ملف .asp المطلوب.
يتضمن ASP الملف قبل تنفيذ أمر البرنامج النصي. ولذلك، لا يمكنك استخدام أوامر البرنامج النصي لإنشاء أسماء الملفات المضمنة. على سبيل المثال، لن يفتح البرنامج النصي التالي Header1.inc لأن ASP ينفذ التوجيه #include قبل أن يقوم بتعيين اسم ملف لاسم المتغير.
<!-- سيفشل هذا البرنامج النصي -->
<% name=(header1 & ".inc") %>
<!--#include file="<%= name %>"-->
يجب أن تكون أوامر وإجراءات البرنامج النصي محاطة بالكامل بمحددات البرنامج النصي <% و%>، أو علامات HTML <SCRIPT> و</SCRIPT>، أو علامات HTML <OBJECT> و</OBJECT>. أي أنه لا يمكنك فتح محدد برنامج نصي في ملف تضمين .asp ثم إغلاقه في ملف مضمن؛ يجب أن يكون البرنامج النصي أو أمر البرنامج النصي وحدة كاملة. على سبيل المثال، لن يتم تشغيل البرنامج النصي التالي:
<!-- سيفشل هذا البرنامج النصي -->
<%
لأني = 1 إلى ن
البيانات في الملف الرئيسي
<!--#include file="header1.inc" -->
التالي
%>
سيتم تشغيل البرنامج النصي التالي بشكل طبيعي:
<%
لأني = 1 إلى ن
البيانات في الملف الرئيسي
%>
<!--#include file="header1.inc" -->
<% التالي %>