دستورگنجاندن فايل(Include or Required) در اسكريپتي باعث ميشود كه قبل از اجراي اسكريپت، آن فايل بطور كامل در محل دستور قرار گرفته و حاصل اجرا شود .عمل دستورات فوق مشابه عمل كپي كردن ميباشد.
در مواقعي كه يك فايل ازنوعphp,html ياtext در صفحات مختلفي بايد وجود داشته باشد، دستورات فوق استفاده ميشوند .در چنين حالتي اگر فايل مشترك نياز باصلاح داشته باشد، فايل مربوطه اصلاح وبطور اتوماتيك در تمام صفحات اثر خواهد گذاشت.
با اين دستورات اين امكان وجود دارد كه بتوانيد يك فايلي را در فايلهاي ديگر قبل ازاجرا قرار دهيد .هر دو دستورinclude وrequire عمل اضافه كردن را انجام ميدهند.
نكته ـ هر دو دستور درافزودن يكسان ميباشند بجز دربرخوردبا خطا(Upon failure)
requireيك خطاي سخت ايجاد ميكند (E_COMPILE_ERROR) واسكريپت را متوقف مي نمايد.
includeفقط يك هشدار توليد ميكند (E_WARRING) واجراي اسكريپت ادامه مي يابد.
،بنا براين اگرميخواهيد اجراي اسكريپت تداوم داشته باشد، حتي با وجود خطا در فايل افزايشي ازدستورinclude استفاده نمائيد .درغيراينصورت درمحيط هاي Framework,CMS وبرنامه هاي پيچيدهPHP از دستورrequire استفاده نمائيد.
هميشه فايهاي اصلي وكليدي را براي افزودن ازrequire استفاده نمائيد اين كار براي حفظ امنيت ويكپارچگي برنامه هاي كابردي شمارا كمك خواهد كرد .فقط در صورتي مشكل ايجاد ميكند كه فايل كليد بصورت تصادفي گم شده باشد.
گنجاندن فايلها باعث صرفه جوئي در كار ميشود با اين روش ميتوان فايلهاي هدر،پاورقي ويا منوي تمام صفحات وب خود را ايجادكنيدودر آنها بگنجانيد .جهت اصلاح اين موارد شما يك فايل اصلاح ميكنيدونياز باصلاح كل صفحات نيست.
فرم كلي دستورinclude و require
مثال 1 ـ فرض كنيد يك فايل پا ورقي استاندارد بنام"footer.php"مشابه زير داشته اشيم.
<?php echo "<p Copyright © 1999-" . date("Y") . " W3Schools.com</p>"; ?>
ميخواهيم آنرا در صفخه زيربا دستورinclude قرار دهيم .
<html> <body> <h1>Welcome to my home page!</h1> <p Some text.</p> <p Some more text.</p> <?php include "footer.php";?> </body> </html>
مثال 2 ـ فرض كنيد منوي استانداردي با نام"menu.php"مطابق زير داشته باشيم
<?php echo '<a href="/default.asp">Home</a> - <a href="/html/default.asp">HTML Tutorial</a> - <a href="/css/default.asp">CSS Tutorial</a> - <a href="/js/default.asp">JavaScript Tutorial</a> - <a href="default.asp">PHP Tutorial</a>'; ?>
همه صفحات وب سايت از اين منو استفاده ميكنند .به بينيم كه چگونه بايد انجام شود .دراين جا از تگ <div> براي سادگي استايل آن استفاده شده است، بدترتيب منو در ناحيه فوق. (div) قرار ميگيرد.
<html> <body> <div class="menu"> <?php include "menu.php";?> </div> <h1>Welcome to my home page!</h1> <p Some text.</p> <p Some more text.</p> </body> </html>
مثال 3 ـ فرض كنيد كه فايلي شامل متغيرهاي مورد استفاده داشته باشيم .از متغيرهاي اين فايل ميتوان در صفحات مختلف با گنجاندن آن در اسكريپت صفحه، استفاده نمود.
فايل نمونه"vars.php"شامل دو متغيراسـت، مطابق زير ميباشد.
<?php $color='red'; $car='BMW'; ?>
مورد استفاده فايل مذكور در اسكريپت زير
<html> <body> <h1>Welcome to my home page!</h1> <?php include "vars.php"; echo "I have a $color $car."; ?> </body> </html>
دستورrequire براي گنجاندن فايل مشابهinclude ، است اما همانطوريكه ذكر گرديد متفاوت است .از اين دستور براي فايل كاملا ضروري وبدون اشكال استفاده ميشود .در صورت اشكال اسكريپت با خطاي سخت برخورد كرده ومتوقف ميشود .به مثال هاي زير جهت رفتارآنها در اجرا توجه نمائيد.
مثال ـ در اين مثال اسكريت ازفايل غير موجود با دستورincludeاستفاده كرده است. اجراي اسكريپت با برخورد بدستور پيغام داده واسكريپت ادامه مي يابد
<html> <body> <h1>Welcome to my home page!</h1> <?php include "noFileExists.php"; echo "I have a $color $car."; ?> </body> </html>
مثال ـ در زير همان مثال قبلي با دستورrequire ميباشد .دراين حالت با برخورد بدستور خطاي سخت صادر ميشود واجرا متوقف ميگردد.
<html> <body> <h1>Welcome to my home page!</h1> <?php require "noFileExists.php"; echo "I have a $color $car."; ?> </body>