【问题标题】:How to include a URL in php?如何在php中包含URL?
【发布时间】:2012-08-10 10:15:10
【问题描述】:

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

$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&quarter=Q3) [function.include-once]:无法打开流:D:\xampp\htdocs\jet\index.php 中的结果太大在第 121 行

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

帮助任何人?

【问题讨论】:

标签: php url dynamic include


【解决方案1】:

区别。

让我们回到基础,好吗?

您通过 URL 发送的内容以“GET”的形式在另一端接收,它需要作为 HYPERTEXT 发送到网络服务器,该服务器会将信息传递给 PHP 脚本,PHP 脚本将相应地编译它们。所以,这个逻辑是行不通的,因为在 include 中你玩的是 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 响应。

【讨论】:

  • 谢谢!这行得通。我刚刚意识到我是多么的菜鸟忘记了标题功能。再次感谢!
  • 这将不包括脚本,这会将服务器重定向到另一个脚本。
  • @MinaYoussef 这就是 Jet 一直在努力实现的目标 :)
  • 这实现了 Jet 想要的,但 Jet 试图包含一个脚本。 header 和 include 的区别很明显。
【解决方案2】:

不要在包含字符串中传递 $_GET 变量。

准备好变量

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

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

所以你的完整代码:

$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");  
}

【讨论】:

  • 我不认为这是他想要的;他在 index.php 中,他怎么能再次包含 index.php 呢?这将是一个无限循环
  • 他没有提到哪个脚本包含哪个。但他已经包含了 index.php,这从错误中可以明显看出。警告:include_once(.../index.php?year=2012&quarter=Q3)
  • 我想在日期更改年份和月份后立即动态更改索引页面。您的回答似乎索引是静态的,因为变量是定义的,而不是基于日期函数。
  • 您可以在每个 If 语句中再次指定变量。检查更新的代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-01
  • 2019-08-28
  • 2013-05-02
  • 2020-12-24
  • 2016-02-05
  • 1970-01-01
相关资源
最近更新 更多