2012-03-26 112 views
0

我想在S.O.上使用一些php的例子。将目录中的文件列为网页上的链接。这里是我使用的代码:PHP来列出目录中的文件

<html> 
<body> 
<?php 
$directory = "/home/tomcat/webapps/ROOT/"; 
$phpfiles = glob($directory . "*.html"); 
foreach($phpfiles as $phpfile) 
{ 
echo "<a href=$phpfile>".basename($phpfile)."</a>"; 
} 
?> 
</body> 
</html> 

然而,这显示了显示的页面上的唯一的事情是:

“;}>

” .basename($ phpfile)。”?
+6

您的服务器上未启用PHP。 – meagar 2012-03-26 12:39:02

+0

就像@meagar说的那样。提示:在命令行中,您可以通过执行'php5 -l yourfile.php'来快速验证它没有语法错误。 – initall 2012-03-26 12:49:39

+0

或者没有服务器正在运行,并且您试图在浏览器中从文件系统读取此文件,而不是从Web服务器读取此文件。 – 2012-03-26 12:50:35

回答

0

在发送到浏览器之前,您的PHP文件不会由PHP解释器运行,这意味着所发布的PHP代码正在被浏览器解释为HTML.在您的代码的以下部分中,开头<并关闭>是bein摹解释为一个单一的标签,而不是渲染:

<?php 
$directory = "/home/tomcat/webapps/ROOT/"; 
$phpfiles = glob($directory . "*.html"); 
foreach($phpfiles as $phpfile) 
{ 
echo "<a href=$phpfile> 

这种情况可能是以下几个原因:

  • PHP没有安装或您的服务器
  • 您正在访问文件上的配置不正确直接从您的本地文件系统而不是通过支持PHP的Web服务器