Цель состоит в том, чтобы на странице была показана таблица ссылок на файлы .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
Вы не можете использовать include
как это. Из руководства:
include возвращает FALSE при ошибке и выдает предупреждение. успешный
включает, если не переопределено включенным файлом, возвращает 1. Это
можно выполнить инструкцию возврата внутри включенного файла в
чтобы прекратить обработку в этом файле и вернуться к сценарию
который назвал это. Также можно вернуть значения из включенного
файлы.
include
конкретно не вернуть файл в вопросе. Тебе понадобиться file_get_contents
или аналогичный механизм для этого.
if (file_exists($infofile) {
вам не хватает близких паренов
if (file_exists($infofile)) {