PHP – درج فایل‌ها (Include Files)

درج فایل‌ها در PHP

در PHP، دستور include (یا require) برای درج محتوای یک فایل به فایل دیگر استفاده می‌شود. این کار باعث می‌شود که کد/متن/مارکاپ موجود در فایل مشخص شده به فایل استفاده‌کننده وارد شود.

تفاوت بین include و require

دستورهای include و require مشابه یکدیگر هستند، با این تفاوت که در صورت عدم موفقیت:

  • require یک خطای fatal error (E_COMPILE_ERROR) تولید می‌کند و اجرای اسکریپت را متوقف می‌کند.
  • include تنها یک هشدار (E_WARNING) تولید می‌کند و اجرای اسکریپت ادامه می‌یابد.

بنابراین، اگر می‌خواهید اجرای برنامه ادامه یابد و حتی اگر فایل شامل‌شده موجود نباشد، کاربران خروجی را مشاهده کنند، از دستور include استفاده کنید. اما در مواردی که استفاده از فریم‌ورک (Framework)، سیستم مدیریت محتوا (CMS)، یا کدنویسی پیچیده PHP ضروری است، از دستور require استفاده کنید تا از امنیت و یکپارچگی برنامه‌تان محافظت کنید، به خصوص اگر فایل کلیدی به‌طور تصادفی گم شود.

درج فایل‌ها باعث صرفه‌جویی در کار می‌شود. این بدان معناست که می‌توانید یک فایل استاندارد برای هدر، فوتر، یا منو برای تمام صفحات وب خود ایجاد کنید و سپس وقتی هدر نیاز به به‌روزرسانی داشته باشد، تنها کافی است فایل هدر را به‌روزرسانی کنید.

سینتکس (Syntax)

include 'filename';
یا
require 'filename';

مثال‌های درج فایل در PHP

مثال 1

فرض کنید یک فایل فوتر استاندارد به نام “footer.php” داریم که به شکل زیر است:

<?php
echo "<p>Copyright &copy; 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> استفاده می‌کنیم تا منو به راحتی با CSS استایل‌دهی شود):

مثال

<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';
?>

سپس، اگر فایل “vars.php” را درج کنیم، می‌توانیم از متغیرها در فایل فراخوانی شده استفاده کنیم:

مثال

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

تفاوت بین include و require

دستور require نیز برای درج یک فایل به کد PHP استفاده می‌شود.

با این حال، تفاوت عمده‌ای بین include و require وجود دارد؛ زمانی که فایلی با دستور include درج می‌شود و PHP نمی‌تواند آن را پیدا کند، اسکریپت به اجرا ادامه می‌دهد:

مثال

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

اگر همان مثال را با استفاده از دستور require انجام دهیم، دستور echo اجرا نخواهد شد زیرا اجرای اسکریپت پس از بروز خطای fatal error متوقف می‌شود:

مثال

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

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
JavaScript - رویدادها (Events)

JavaScript – رویدادها (Events)

رویدادهای HTML رویدادها در HTML، “اتفاقاتی” هستند که برای عناصر HTML رخ می‌دهند. این اتفاقات می‌توانند ناشی از کار...

بیشتر بخوانید
JavaScript - سازنده‌های شیء (Object Constructors)

JavaScript – سازنده‌های شیء (Object Constructors)

ساخت آبجکت با تابع سازنده (Object Constructor Function) برای ساخت چندین آبجکت مشابه، از تابع سازنده استفاده می‌شود. این...

بیشتر بخوانید
JavaScript - نمایش شیء (Object Display)

JavaScript – نمایش شیء (Object Display)

نحوه نمایش آبجکت‌ها در جاوااسکریپت هنگام نمایش یک آبجکت جاوااسکریپت به صورت مستقیم، خروجی معمولاً به شکل [object Object]...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.