<?php
$city = $_GET["city"];
$prov = $_GET["prov"];
$file = "citycountdetails.php?city=".$city."&prov=".$prov."";
?>
<?php include $file; ?>
警告:include(citycountdetails.php?city=Halifax&prov=NS) [function. php]。[include]:无法打开流:....
中没有这样的文件或目录不知道我做错了什么…
谢谢
恐怕不能包含带参数的文件!
这些参数仅用于http请求。PHP include不启动HTTP请求,它们只包含文件系统中的本地文件。
有几种方法可以实现你想要做的事情:
从citycountdetails.php中访问$_GET["city"]和$_GET[" prove "] .
这是一个快速丑陋的方法,并导致相当多的依赖,但它至少不坏。
声明$city和$ prove,并从citycountdetails.php(使用全局变量)访问它们。
这可能是最糟糕的方式,所以不要这样做。: D
创建一个函数文件,其中包含检索这些参数的方法
这可能是你现在能做的最简单的事情了,而且没有任何副作用。
显然也<?php
function GetCity(){
return $_GET['city'];
}
function GetProvince(){
return $_GET['prov'];
}
?>
文件<?php
include 'functions.php';
include 'citycountdetails.php';
?>
city count details.php
<?php
$city = GetCity();
$prov = GetProvince();
?>
不可能包含带有查询字符串参数的文件,因为PHP会将查询字符串解释为文件名的一部分。如果您需要将$city
和$prov
传递给citycountdetails.php
,则它们已经在全局作用域中可用。
修改citycountdetails.php
,将$city
和$prov
引用为$GLOBALS['city']
和$GLOBALS['prov']
,而不是$_GET['city']
和$_GET['prov']
。
// citycountdetails.php
<?php
$city = $GLOBALS['city'];
$prov = $GLOBALS['prov'];
?>
// Or similarly accomplished in functions.php
<?php
function GetCity(){
return $GLOBALS['city'];
}
function GetProvince(){
return $GLOBALS['prov'];
}
?>