包括不起作用?

时间:2014-12-23 18:35:07

标签: php include require require-once

我想使用其他文件中的文件中的变量,但我的包不起作用。在我的文件index.php中,我有一个开关:

switch ($_POST["Jaartal"]) {
    case "2010":
        $dir= "2010";
        break;
    case "2006":
        $dir= "2006";
        break;
    case "2014":
        $dir= "2014";
        break;
    default:
        $dir= "2014";
}

我想在名为$dir的其他PHP文档中使用变量api.php

include 'index.php';

$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n"
  )
);

$context = stream_context_create($opts);

// Open the file using the HTTP headers set above
$url = "http://kassiesa.home.xs4all.nl/bert/uefa/data/method4/crank2014.html";
$file = file_get_contents($url, false, $context);
print $file;

我想将最后的$url更改为/crank".$dir.".html";

我尝试使用requireincluderequire_once无效。当我使用其中一个时,代码在我的index.php中不再有效。

我希望你们中的一个能帮助我。

2 个答案:

答案 0 :(得分:0)

在您尝试使用它的页面上输出$ dir的值,以查看它是否有值:

echo $dir;

如果它确实有一个值,并且它返回404,因为$ dir值有一个额外的/或者什么(当我格式化字符串时,这发生在我身上,这很痛苦。)

我希望这会有所帮助。

答案 1 :(得分:0)

这里有一些可能性。

  1. $dir需要在switch语句之外定义,因此它将保留在范围内。

  2. 如果有问题的两个文件不在同一目录中,请使用完整路径或更改包含路径。

  3. 使用require因为这会导致错误,从而为您提供更多信息。

  4. 权限可能是个问题;这不太可能,但值得一看。