您好我正在尝试读取包含我要重定向的网址的文件我正在使用此
$file = 'test.txt';
$myfile = fopen($file, "r") or die("Unable to open file!");
$link = fread($myfile,filesize($link));
fclose($myfile);
header("Location: $link");
浏览器显示错误“页面未正确重定向”
文件test.txt包含
http://www.google.es
答案 0 :(得分:3)
请在此处查看此声明,
$link = fread($myfile,filesize($link));
^^^^^^^^^^^^^^^
filesize()
函数需要文件路径作为参数,但是您传递的是未定义变量 $link
。
所以上面的陈述应该是这样的:
$link = fread($myfile,filesize($file));
此外,请在exit();
之后使用header(...);
,因为header(...);
本身不足以将用户重定向到其他网页。
header("Location: $link");
exit();
答案 1 :(得分:2)
你正在使用错误的变量
filesize($link)
应为$file
filesize($file)
(编辑):
调试程序(以及error reporting设置为捕获并显示)。
注释掉标题并回显$link
变量
$file = "test.txt";
$myfile = fopen($file, "r") or die("Unable to open file!");
echo $link = fread($myfile,filesize($link));
fclose($myfile);
// header("Location: $link");
...您会收到以下通知/警告:
注意:未定义的变量:第x行的/path/to/file.php中的链接 警告:fread():在x行的/path/to/file.php中长度参数必须大于0
由于fread()
无法找出filesize
,因此无法"读取"它
当然,正如Rajdeep在他的(更好的)答案中所述,在标题之后添加exit;
。你的(很可能)会工作,但这确实是更好的做法。