چطوری میتونم صفحه رو اینکلود کنم ؟
Printable View
چطوری میتونم صفحه رو اینکلود کنم ؟
صفحه a.php
[PHP]
$a = 2;
include('b.php');
[/PHP]
صفحه b.php
[PHP]
if($a == 2){
echo '2';
exit();
}else{
echo '3';
}
echo '4';
[/PHP]
نقل قول:نقل قول:
میشه یه کم توضیح بدی
[PHP]<?php include ("$id.html"); ?>[/PHP]
این کدی که شما دارید به این دلیل کار نمیکنه چون $id از جایی مقدار دهی نمیشه!
شما دارید مقدار id رو از آدرس به این صورت "mydomin.com/index.php?id=aaa" ارسال میکنید پس باید به این صورت هم دریافت کنید:
[PHP]
$id = $_GET['id'];
[/PHP]
کد کلی شما به این صورت میشه:
[PHP]
$id = $_GET['id'];
<?php include ("$id.html"); ?>
[/PHP]
البته این روش رو باید به این صورت امن کنید! که اگر مقدار id فراخوانی نشد صفحه خطا نده:
[PHP]
$id = $_GET['id'];
if($id)
{
<?php include ("$id.html"); ?>
}
[/PHP]
خیلی ممنون که کمکم کردی.
[PHP]<?php
if (isset($_GET['page'])) {
$page = $_GET['page'];
if (preg_match("/^.*\.(html|php|htm|php3|php5)$/",$page) && is_file($page)){
include("$page");
}
elseif(preg_match("/^.*[^\.(html|php|htm|php3|php5)]$/",$page)) {
$exts = array('html','php','htm','php3','php5');
foreach($exts as $ext){
$file = $page . '.' . $ext;
if(is_file($file)){
include($file);
exit();
}
}
}
else {
include('index.html');
}
}
else {
include('index.html');
}
?>[/PHP]
این کد دیگه آخرشه... مشکل داشت بگین :31:
باید صفحه رو با نام page براش بفرستین. اگه اون ادرس پسوند داشت و فایلش حقیقی بود نشون میده. اگه پسوند نداشت، چک میکنه که فایلی با این نام وجود داره یا نه. اگه فایلی با این نام و پسوند های خود برنامه وجود داشت نشون میده. در غیر این صورت فایل index.html رو نشون خواهد داد.
کد قبلی یه اشکالاتی داشت که کد زیر اونا رو برطرف میکنه::
[PHP]<?php
if (isset($_GET['page'])) {
$page = $_GET['page'];
if (preg_match("/^.*\.(html|php|htm)$/i",$page) && is_file($page)){
include("$page");
} elseif(!preg_match("/^.*\.(html|php|htm)$/",$page) && is_file($page.'.php')) {
include($page.'.php');
} elseif(!preg_match("/^.*\.(html|php|htm)$/",$page) && is_file($page.'.html')) {
include($page.'.html');
} elseif(!preg_match("/^.*\.(html|php|htm)$/",$page) && is_file($page.'.htm')) {
include($page.'.htm');
} else {
include('index.html');
}
}
else {
include('index.html');
}
?>[/PHP]
این چه کاریه!
[PHP]
} elseif(!preg_match("/^.*\.(html|php|htm)$/",$page) && is_file($page.'.php')) {
include($page.'.php');
} elseif(!preg_match("/^.*\.(html|php|htm)$/",$page) && is_file($page.'.html')) {
include($page.'.html');
} elseif(!preg_match("/^.*\.(html|php|htm)$/",$page) && is_file($page.'.htm')) {
[/PHP]
خب اینکه سریعتر و سبکتره!
[PHP]
} elseif(is_file($page.'.php')) {
include($page.'.php');
} elseif(is_file($page.'.html')) {
include($page.'.html');
} elseif(is_file($page.'.htm')) {
[/PHP]
راست میگیا ..... :20:نقل قول:
خب اگه بخوایم علاوه بر اینکه فایل هایی در این پوشه یا شاخه هستند، فایل های از پوشه ای در همین شاخه را include کنیم چه کاری رو باید انجام بدیم. مثلا فایل dir/file.php رو include کنیم.