2017-04-11 73 views
1

我有一個功能,打印文件夾中的所有文件與額外的信息,如圖標,文件類型和上次修改日期。如果文件不在子文件夾中,一切正常。對於子文件夾中的文件,它不顯示上次修改日期。我認爲文件路徑可能有問題,因爲檢查返回結果是不存在的。代碼:PHP顯示filemtime不工作

<?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); 
} 

回答

1

在日期的行上,您忘記添加路徑。

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));