此处的目标是页面显示指向.bmp文件的链接表,如果目录中有相同名称的.txt文件,请在其旁边添加(因为它包含对内容的简要说明) BMP文件用于,以及使用它的部分)。
唯一不起作用的部分是包含。它检测何时存在文件,因为它没有显示“无可用描述”。但它没有显示文件的内容。我做错了什么?
<table>
<tr><th>Download</th><th>Description</th><tr>
<?php
$dir = '/var/www/html/espruino/temp';
$files = scandir($dir,1);
function getFileExtension($filename)
{
$path_info = pathinfo($filename);
return $path_info['extension'];
}
foreach ($files as $filename) {
// Construct a full path
$filepath = $dir.'/'.$filename;
// Is it a file? If so, get the extension using some function you created
if(is_file($filepath)) {
$ext = getFileExtension($filename);
if ($ext=="bmp") {
$infofile=substr($filepath, 0,-3)."txt";
if (file_exists($infofile) {
echo "<tr><td><a href='./".$filename."'>".$filename."</td><td>".include $infofile."</td></tr>";
} else {
echo "<tr><td><a href='./".$filename."'>".$filename."</td><td>No desciription available</td></tr>";
}
}
}
}
?>
(当然,这整个事情都嵌入在一个页面中 - 但我认为沼泽标准的html在这里没用。
谢谢 - 我还是PHP的新手
答案 0 :(得分:0)
您不能像这样使用include
。 From the manual:
包括失败时返回FALSE并发出警告。成功 包括,除非被包含的文件覆盖,否则返回1.它是 可以在包含的文件中执行return语句 命令终止该文件中的处理并返回脚本 它叫它。此外,它可以返回包含的值 文件。
include
具体不返回相关文件。您需要file_get_contents
或类似的机制。
答案 1 :(得分:0)
if (file_exists($infofile) {
你错过了关闭的parens:
if (file_exists($infofile)) {