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 © 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>
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام