如何在PHP中包含URL?

时间:2012-08-14 06:32:46

标签: php url dynamic include

我想让我的索引页面显示当前的季度和年份,以便随着时间的推移更新。我需要帮助重建我的代码。这里是。它就像某种公告牌日历:

$now   = new DateTime();
    $month = (int)$now->format("m");
            $get_year = date("Y");

    if ($month >= 1 AND $month <= 3) {
       include_once("../index.php?year=".$get_year."&quarter=Q1");  
    }
    elseif ($month >= 4 AND $month <= 6) {
         include_once("../jet/index.php?year=".$get_year."&quarter=Q2");  
    }
    elseif ($month >= 7 AND $month <= 9) {
          include_once("../jet/index.php?year=".$get_year."&quarter=Q3");  
    }
    else {
         include_once("../jet/index.php?year=".$get_year."&quarter=Q4");  
    }

将要显示的页面已准备好,只是我无法显示它并导致这些错误:

警告:include_once(... / index.php?year = 2012&amp; quarter = Q3)[function.include-once]:无法打开流:D:\ xampp \ htdocs \ jet \ index中的结果太大第121行的.php

警告:include_once()[function.include]:无法打开'... / index.php?year = 2012&amp; quarter = Q3'以包含(include_path ='。; D:\ xampp \ php \ PEAR' )在第121行的D:\ xampp \ htdocs \ jet \ index.php

帮助任何人?

2 个答案:

答案 0 :(得分:3)

差异。

让我们回到基础,是吗?

您通过URL发送的内容作为另一方面的“GET”接收,它需要作为HYPERTEXT发送到网络服务器,网络服务器将信息传递给PHP脚本,这将相应地编译它们。所以,这个逻辑不起作用,因为包括你在玩FILE SYSTEM。

您要做的是使用header()

header("location: http://example.com/jet/index.php?year=$get_year&quarter=Q2");

而不是

include_once("../index.php?year=".$get_year."&quarter=Q1"); 

header()会将用户重定向为HTTP响应。

答案 1 :(得分:0)

不要在include string中传递$ _GET变量。

准备变量

$year='2012';
$quarter='Q3';
include_once('index.php');

然后运行include字符串,您可以正常访问年份和季度。确保检查变量的范围。

所以你的完整代码:

$year=$get_year;
if ($month >= 1 AND $month <= 3) {
   $quarter='Q1';
   include_once("../index.php");  
}
elseif ($month >= 4 AND $month <= 6) {
   $quarter='Q2';
   include_once("../jet/index.php");  
}
elseif ($month >= 7 AND $month <= 9) {
   $quarter='Q3';
   include_once("../jet/index.php");  
}
else {
   $quarter='Q4';
   include_once("../jet/index.php");  
}