-2

我想通过 GET 请求将文件名传递给 php 脚本。我会想到以下代码:

<?php

$myFile = $_GET['filename'];

$file = fopen($myFile, "r");

while (!feof($myFile))
{
   $currentLine = fgets($myFile);
   print $currentLine;
}

?>

会工作,但事实并非如此。我收到以下消息重复无数次:

Warning: feof() expects parameter 1 to be resource, string given in /Library/WebServer/Documents/maps/getFile.php on line 7

Warning: fgets() expects parameter 1 to be resource, string given in /Library/WebServer/Documents/maps/getFile.php on line 9

我知道我应该将我的 open 和 while 循环包装在一个 IF 语句周围,以防止可能打开不存在的文件,但我发送的文件 EXISTS。好像我不能用 GET 请求做到这一点?

4

2 回答 2

1

您需要用作和$file的参数。 代表您的文件句柄资源。只是一个带有您的文件名的字符串。feof()fgets()$file$myFile

于 2012-12-14T00:42:32.407 回答
0

尝试

while (!feof($file ))
{
   $currentLine = fgets($file );
   print $currentLine;
}
于 2012-12-14T00:45:03.890 回答