2017-04-11 3 views
1

J'ai une fonction qui imprime tous les fichiers dans le dossier avec des informations supplémentaires telles que l'icône, le type de fichier et la date de dernière modification. Tout fonctionne bien si les fichiers ne sont pas dans un sous-dossier. Pour les fichiers dans le sous-dossier, il n'affiche pas la dernière date de modification. Je pense qu'il peut y avoir quelque chose de mal avec le chemin du fichier comme résultat de retour de vérification qu'il n'existe pas. Code:PHP show filemtime ne fonctionne pas

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

Répondre

1

Sur les lignes avec la date vous avez oublié d'ajouter le chemin.

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