if(isset($_GET['letters'])){
switch($_GET['letters']){
case 'a-e':
file_get_contents('text.php?text=a-e');
break;
case 'f-j':
file_get_contents('text.php?text=f-j');
break;
case 'k-o':
file_get_contents('text.php?text=k-o');
break;
case 'p-t':
file_get_contents('text.php?text=p-t');
break;
case 'u-z':
file_get_contents('text.php?text=u-z');
break;
default:
file_get_contents('home.php');
break;
}
}
在此代码中,我收到此错误:
Warning: file_get_contents(text.php?text=a-e) [function.file-get-contents]: failed to open stream: No error in *(the row of the file_get_contents())*
我也试过包括。但它不起作用?
答案 0 :(得分:4)
您无法在脚本打开时将参数传递给文件。这可以在将页面的HTTP请求发送到服务器时完成,但在这种情况下不能。
另外,请注意切换案例必须是原子的。例如,如果$ _GET ['letters']为'b',则不会执行任何切换案例。
我无法从你的帖子中确切地知道你正在尝试做什么。如果要将文本存储在平面文件中,请使用更好的后缀,例如“.txt”。一种方法是具有多个文件,每个文件对应于一个类别(例如'a-e')。您可以在switch语句中设置文件名。
另一方面,如果您尝试在交换机中调用代码,则file_get_contents不是要使用的函数。请改用'require_once'my_file.php'。
答案 1 :(得分:2)
磁盘上没有'text.php?text = u-z'文件。
只需将您的链接参数从?letters
更改为?text
,然后再将其设为
if(isset($_GET['text'])){
include('text.php');
}