У меня есть функция, которая печатает все файлы в папке с дополнительной информацией, такой как значок, тип файла и дата последнего изменения. Все работает нормально, если файлы не находятся в подпапке. Для файлов в подпапке не отображается дата последнего изменения. Я думаю, что может быть что-то не так с путем файла, так как проверка возвращает результат, что он не существует. Код:
<?php
define('PATH', 'C:/xampp/htdocs/PHP Day 10 ND/');
function printTree($kelias, $str=''){
$resursas=opendir($kelias);
while ($failas = readdir($resursas)){
if ($failas=='.' || $failas=='..') continue;
if (is_dir($kelias.$failas)){
echo "<tr><td><img src='images/folder.png'></td>";
echo "<td>Katalogas</td><td>";
echo $str.$failas;
echo "</td><td>";
echo date ("F d Y H:i:s.", filemtime($failas));
echo "</td></tr>";
printTree($kelias.$failas.'/',$str.'--');
}else{
echo "<tr>";
if(pathinfo($kelias.$failas, PATHINFO_EXTENSION) == 'php'){
echo "<td><img src='images/php.png'></td>";
echo "<td>PHP</td><td>";
echo "<a href='failas.php?file=$kelias$failas'target='_black'>$str$failas</a>";
echo "</td><td>";
if (file_exists($failas)) echo date ("F d Y H:i:s.", filemtime($failas));
echo "</td></tr>";
}
elseif(pathinfo($kelias.$failas, PATHINFO_EXTENSION) == 'png'){
echo "<td><img src='images/image.png'></td>";
echo "<td>Image</td><td>";
echo "<a href='failas.php?file=$kelias$failas'target='_black'>$str$failas</a>";
echo "</td><td>";
if (file_exists($failas)) echo date ("F d Y H:i:s.", filemtime($failas));
echo "</td></tr>";
}else{
echo $str.$failas;
echo "</td><td>blabla</td></tr>";
}
}
}
closedir($resursas);
}
В строках с датой вы забыли добавить путь.
if (file_exists($failas)) echo date ("F d Y H:i:s.", filemtime($failas));
в
if (file_exists($kelias.$failas)) echo date ("F d Y H:i:s.", filemtime($kelias.$failas));
Других решений пока нет …