PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : تفاوت include و require در برنامه نویسی php



Borna66
07-04-2012, 11:54 AM
سلام
شاید تا به حال شما هم موقع کد نوشتن براتون این سوال پیش اومده که تفاوت این دو در php چیست؟ و اصولا چه فرقی داره اگه توی کدامون یک فایلی رو با include وارد کنیم یا با require ؟! واقعا فرقی بین این دو تا دستور هستش یا نه؟؟؟
بله بین این دوتا دستور تفاوت‌هایی هستش هرچند که هر دو یک کار رو انجام میدن خوب اما حالا چه تفاوتی؟؟؟
بزارید کار رو با یه مثال پیش ببریم به این کد‌ها و نتیجه کارشون نگاه کنید:
کد اول با include :


کد:



<?php
include("noFileExistsHere.php");
echo "Hello World!";
?>




خروجی کد اول:


کد:



Warning: main(noFileExistsHere.php): failed to open stream: No such file or directory in /home/websiteName/FolderName/tizagScript.php on line 2 Warning: main(): Failed opening 'noFileExistsHere.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/websiteName/FolderName/tizagScript.php on line 2

Hello World!




خوب حالا به کد دوم توجه کنید که با require نوشته شده:
کد برنامه:


کد:



<?php
require("noFileExistsHere.php");
echo "Hello World!";
?>





خروجی برنامه با کد دومی:


کد:



Warning: main(noFileExistsHere.php): failed to open stream: No such file or directory in /home/websiteName/FolderName/tizagScript.php on line 2
Fatal error: main(): Failed opening required 'noFileExistsHere.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/websiteName/FolderName/tizagScript.php on line 2




خوب به نظر شما بین این دوتا خروجی چه تفاوتی وجود داره؟
بله اگر ما در کد‌هامون از include استفاده کنیم در صورتی که فایلی را که وارد کردیم به کدمون دارای خطا و اشتباه باشه باعث از کار افتادن و ادامه پیدا نکردن مابقی کد‌ها و اسکریپت نمی‌شه اما اگر از require استفاده کنیم در صورتی که فایل وارد شده به کد دارای خطا باشه باعث میشه که مابقی کد و اسکریپت ما اجرا نشه و کار همونجا متوقف بشه.
بله تنها تفاوت این دو در این هستش http://pnu-club.com/imported/2012/07/1.gif

موفق باشید.