【发布时间】:2016-09-19 08:15:13
【问题描述】:
我有一个循环,将 php 服务器中的每个文件显示为链接。单击该链接将使用fopen打开文件,如下所示:
<?php
echo"<ol>";
if ($handle = opendir('saves/')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
echo '<li style"display:block"><a href="#codeword">'.$entry.'</a></li><br>';
}
}
closedir($handle);
}
echo"</ol>";
echo'<div id="codeword">';
$file = $entry;
$f = fopen($entry, "r") or exit("Unable to open file!");
// read file line by line until the end of file (feof)
while(!feof($f))
{
echo fgets($f)."<br />";
}
fclose($f);
echo"</div>";
?>
但是当我运行它时,我得到了错误
fopen() [function.fopen]: 文件名不能为空
我尝试回显$entry 而不是fopen,它按预期显示。所以问题可能是文件的路径。我应该使用什么文件路径。
提前致谢!
【问题讨论】:
-
错误信息是准确的。这不是路径问题,会导致“找不到文件”错误。
-
那还能是什么。我确信正确的文件名正在发送到 div。 @arkascha
-
我对此表示怀疑。锚点指的是
href="#codeword"。里面没有no 文件名。出现问题是因为您犯了在单个文件中编写多个逻辑部分的老错误。不。使用一种逻辑创建列表,一种处理点击。 -
我试图这样做,因为我不确定如何将变量发送到另一个文件。例如,如果我使用 ajax。 @arkascha
-
因此,与其弄清楚 http get 请求是如何完成的,不如将其搁置一旁,然后声称一切正常?嗯……