درج کردن یک فایل PHP در یک فایل PHP دیگر
شما می توانید با استفاده از دو تابع include یا require محتویات یک فایل PHP را داخل یک فایل PHP دیگر درج کنید، البته قبل از اینکه فایل دوم اجرا شود.
این دو تابع در همه موارد یکسان عمل می کنند، بجز در چگونگی برخورد با خطا:
- include: پیغام خطا را تولید می کند، اما ادامه اسکریپت اجرا خواهد شد.
- require: پیغام خطا را تولید می کند و اجرای اسکریپت متوقف خواهد شد.
موارد استفاده دو تابع include و require می تواند شامل موارد زیر باشد:
- توابع
- Header
- Footer
- المانهایی که در چندین صفحه استفاده می شود مانند منوها، کامپوننت تاریخ و ...
شما می توانید یک فایل استاندارد Header یا Footer و یا منو ایجاد کنید و در همه صفحات پروژه تان از آنها استفاده کنید، و موقعی که نیاز به تغییر داشت، تنها با تغییر یک فایل، کل پروژه تان را تازه سازی کنید.
دستور include_once و require_once:
دو تابع بالا دقیقاً مثل include و require عمل می کنند، با این تفاوت که اگر فایل مورد نظر قبلاً خوانده شده است، دیگر خوانده نمی شود.
مثال 1:
فرض کنید یک فایل Header با نام "header.php" دارید، برای اضافه کردن آن به صفحه ای از پروژه از کد زیر استفاده کنید:
<html>
<body>
<?php include("header.php"); ?>
<h1>Welcome to my home page!</h1>
<p>Some text.</p>
</body>
</html>
دستورات include, include_once, require و require_once را می توان بدون پرانتز نیز بکار برد.
مثال 2:
فرض کنید یک فایل منو طبق زیر با نام "menu.php" داریم، که باید به تمام صفحات پروژه اضافه شود:
<a href="/default.php">Home</a>
<a href="/tutorials.php">Tutorials</a>
<a href="/references.php">References</a>
<a href="/examples.php">Examples</a>
<a href="/about.php">About Us</a>
<a href="/contact.php">Contact Us</a>
در زیر فایل "menu.php" را به صفحه دلخواهمان اضافه کرده ایم:
<html>
<body>
<div class="leftmenu">
<?php include("menu.php"); ?>
</div>
<h1>Welcome to my home page.</h1>
<p>Some text.</p>
</body>
</html>
اگر بعد از اجرای فایل بالا در IE ، روی صفحه راست کلیک کرده و View Source را کلیک کنید، کد html شبیه زیر خواهیم داشت:
<html>
<body>
<div class"leftmenu">
<a href="/default.php">Home</a>
<a href="/tutorials.php">Tutorials</a>
<a href="/references.php">References</a>
<a href="/examples.php">Examples</a>
<a href="/about.php">About Us</a>
<a href="/contact.php">Contact Us</a>
</div>
<h1>Welcome to my home page!</h1>
<p>Some text.</p>
</body>
</html>
مثال 3: خطا در تابع include:
در مثال زیر فایل wrongFile.php وجود ندارد و همان طور که مشاهده می کنید بعد از چاپ پیغام خطا ادامه اسکریپت اجرا می شود.
<html>
<body>
<?php
include("wrongFile.php");
echo "Hello World!";
?>
</body>
</html>
پیغام خطا:
Warning: include(wrongFile.php) [function.include]:
failed to open stream:
No such file or directory in C:\home\website\test.php on line 5
Warning: include() [function.include]:
Failed opening 'wrongFile.php' for inclusion
(include_path='.;C:\php5\pear')
in C:\home\website\test.php on line 5
Hello World!
مثال 4:پیغام خطا در تابع require:
<html>
<body>
<?php
require("wrongFile.php");
echo "Hello World!";
?>
</body>
</html>
پیغام خطا:
Warning: require(wrongFile.php) [function.require]:
failed to open stream:
No such file or directory in C:\home\website\test.php on line 5
Fatal error: require() [function.require]:
Failed opening required 'wrongFile.php'
(include_path='.;C:\php5\pear')
in C:\home\website\test.php on line 5
بعد از ایجاد خطا، ادامه اجرای اسکریپتمتوقف می شود، و در حقیقت خطی که قرار است Hello World را چاپ کند، اجرا نمی شود.
پیشنهاد می شود از تابع require بجای include استفاده شود، چون اسکریپت ها بعد از برخورد با خطا نباید ادامه پیدا کنند.
برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.
2- توی کلاینت ساید چطور میشه اینکارو کرد که از نوشتن قسمت های تکراری جلوگیری شود ؛اونجا که زبان سرور ساید نداریم؟!
3- میشه درمورد مستر پیج هم کمی توضیح دهید
2- توجه داشته باشید که کدهای سمت کلاینت، توسط سرور تولید شده است و در واقع قبل از اینکه کدها به کاربر ارسال شود، دستوراتی مثل include ترجمه شده و به قول شما قسمت های تکراری مثل Header و Footer و یا منوها به صفحه جاری اضافه گردیده است.
3- در پروژه زیر بیشتر در مورد MasterPage فراخواهید گرفت:
beyamooz.com/product/php-hotel/%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D8%B1%D8%B2%D8%B1%D9%88-%D9%87%D8%AA%D9%84-%D8%AF%D8%B1-php
2- آیا بجای include میتوانیم از عنصر Ifrme استفاده کنیم؟
2- خیر ...! کاربرد Iframe از زمین تا آسمان با include فرق دارد. در واقع از iframe برای لود کردن یک صفحه از یک سایت دیگر در سایت اصلی استفاده می شود.
khaheshan matalebe gofte shode dar site w3schools ro betore kamel tarjome konid
masalan multi array tuye bakhshe advance tajome nashode
ba tashakkor.