سبد (0)

تبلیغات

include کردن فایل در PHP

درج کردن یک فایل PHP در یک فایل PHP دیگر

Wiki

شما می توانید با استفاده از دو تابع 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:

Wiki

در مثال زیر فایل 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:

Wiki

<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 کلیک کنید.

دیدگاه‌ها  

0 # امیرکیان 1394-09-26 22:52
1- برای اینکه از نوشتن قسمت های تکراری جلوگیری کنیم؛باید قسمت های تکراری رو در یک فایل php دیگر درست کنیم و هر موقع که نیاز داشتیم آنها رو include کنیم؛درسته؟
2- توی کلاینت ساید چطور میشه اینکارو کرد که از نوشتن قسمت های تکراری جلوگیری شود ؛اونجا که زبان سرور ساید نداریم؟!
3- میشه درمورد مستر پیج هم کمی توضیح دهید
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # امیر پهلوان صادق 1396-01-01 08:50
1- بله درسته ...
2- توجه داشته باشید که کدهای سمت کلاینت، توسط سرور تولید شده است و در واقع قبل از اینکه کدها به کاربر ارسال شود، دستوراتی مثل include ترجمه شده و به قول شما قسمت های تکراری مثل Header و Footer و یا منوها به صفحه جاری اضافه گردیده است.
3- در پروژه زیر بیشتر در مورد MasterPage فراخواهید گرفت:
http://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
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # amirkian 1394-05-25 15:03
1- آیا در PHP میشود بجای اینکه تمام قسمت های سایت با include ساخته شوند یک کار دیگر کرد، یک صفحه درست کاملاًٌ ثابت برای تمام صفحات درست کرد و بخش متغییر آن صفحه را با Include تغییر داد. آیا اینطوری بهتر نیست؟!
2- آیا بجای include میتوانیم از عنصر Ifrme استفاده کنیم؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # امیر پهلوان صادق 1396-01-01 08:53
1- این مفهوم MasterPage است و انجام این کار توصیه می شود.
2- خیر ...! کاربرد Iframe از زمین تا آسمان با include فرق دارد. در واقع از iframe برای لود کردن یک صفحه از یک سایت دیگر در سایت اصلی استفاده می شود.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # ho3in 1393-09-24 13:18
ba tashakor az site kheili khubetun
khaheshan matalebe gofte shode dar site w3schools ro betore kamel tarjome konid
masalan multi array tuye bakhshe advance tajome nashode

ba tashakkor.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # امیر پهلوان صادق 1393-09-25 08:51
ممنون ... آرایه های چند بعدی (Multidimension al array) در قسمت "آموزش مقدماتی- آرایه ها" توضیح داده شده است: www.beyamooz.com/php/80-basic/67
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن

آموزش صوتی PHP

بستن
مدرس:
سوال و جواب:

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه پرداخت آنلاین - بانک اقتصاد نوین پرداخت آنلاین - بانک سامان
 
دوره های آموزشی راه اندازی کسب و کارهای اینترنتی
تبلیغات اینترنتی