‎‎گنجاندن فايلPHP Include Files -‎

Previous >    <Next  

‎دستورگنجاندن فايل(‎Include‎ or ‎Required‎) ‎در اسكريپتي باعث ميشود كه قبل از اجراي اسكريپت، آن فايل بطور ‎كامل در محل دستور قرار گرفته و حاصل اجرا شود .عمل دستورات فوق مشابه عمل كپي كردن ميباشد.

‎در مواقعي كه يك فايل ازنوعphp,html ياtext در صفحات مختلفي بايد وجود داشته باشد، دستورات ‎فوق استفاده ميشوند .در چنين حالتي اگر فايل مشترك نياز باصلاح داشته باشد، فايل مربوطه ‎اصلاح وبطور اتوماتيك در تمام صفحات اثر خواهد گذاشت.

‎‎دستوراتPHP include and require

‎با اين دستورات اين امكان وجود دارد كه بتوانيد يك فايلي را در فايلهاي ديگر قبل ازاجرا ‎قرار دهيد .هر دو دستور‎include‎ و‎require‎ عمل اضافه ‎كردن را انجام ميدهند.

‎‎نكته ـ هر دو دستور درافزودن يكسان ميباشند بجز دربرخوردبا خطا(Upon failure)

require‎‎يك خطاي سخت ايجاد ميكند (E_COMPILE_ERROR) ‎واسكريپت را متوقف مي نمايد.

include‎‎فقط يك هشدار توليد ميكند (E_WARRING) ‎واجراي اسكريپت ادامه مي يابد.

‎،بنا براين اگرميخواهيد اجراي اسكريپت تداوم داشته باشد، حتي با وجود خطا در فايل افزايشي ‎ازدستور‎include‎ استفاده نمائيد .درغيراينصورت درمحيط هاي Framework,CMS ‎وبرنامه هاي پيچيدهPHP ‎از دستور‎require‎ استفاده نمائيد.

‎هميشه فايهاي اصلي وكليدي را براي افزودن از‎require‎ استفاده نمائيد اين كار ‎براي حفظ امنيت ويكپارچگي برنامه هاي كابردي شمارا كمك خواهد كرد .فقط در صورتي مشكل ايجاد ‎ميكند كه فايل كليد بصورت تصادفي گم شده باشد.

‎گنجاندن فايلها باعث صرفه جوئي در كار ميشود با اين روش ميتوان فايلهاي هدر،پاورقي ‎ويا منوي تمام صفحات وب خود را ايجادكنيدودر آنها بگنجانيد .جهت اصلاح اين موارد شما يك فايل ‎اصلاح ميكنيدونياز باصلاح كل صفحات نيست.

‎‎فرم كلي دستور‎include‎ و ‎require

‎include 'filename';‎يا ‎ require 'filename';

‎‎مثالهايPHP include

‎‎مثال 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> 

--(go to editor for change code and run)

‎‎مثال 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> 

--(go to editor for change code and run)

‎مثال 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> 

--(go to editor for change code and run)

‎‎دستورPHP require

‎دستور‎require‎ براي گنجاندن فايل مشابه‎include‎ ، است ‎اما همانطوريكه ذكر گرديد متفاوت است .از اين دستور براي فايل ‎كاملا ضروري وبدون اشكال استفاده ميشود .در صورت اشكال اسكريپت با خطاي سخت برخورد كرده ‎ومتوقف ميشود .به مثال هاي زير جهت رفتارآنها در اجرا توجه نمائيد.

‎مثال ـ در اين مثال اسكريت ازفايل غير موجود با دستور‎include‎استفاده كرده است. ‎اجراي اسكريپت با برخورد ‎بدستور پيغام داده واسكريپت ادامه مي يابد

<html>
<body>

<h1>Welcome to my home page!</h1>
<?php  include "noFileExists.php";
echo "I have a $color $car.";
?>

</body>
</html> 

--(go to editor for change code and run)

‎مثال ـ در زير همان مثال قبلي با دستور‎require‎ ميباشد .دراين حالت با برخورد ‎بدستور خطاي سخت صادر ميشود ‎واجرا متوقف ميگردد.

<html>
<body>

<h1>Welcome to my home page!</h1>
<?php  require  "noFileExists.php";
echo "I have a $color $car.";
?>

</body>

--(go to editor for change code and run)


Previous >    <Next