2016-09-06 2 views
1

J'affiche tous les fichiers d'un dossier, cette partie fonctionne très bien. Cependant, chaque lien affiche l'extension du fichier. J'ai essayé de l'enlever, mais semble enlever le nom de fichier aussi. J'ai besoin d'afficher le nom du fichier sans extension, mais utiliser une variable avec l'extension pour le href du lien.comment supprimer l'extension de fichier pour l'affichage, mais en conservant l'extension pour href?

Tentative:

<?php 

$info = pathinfo($filename); 
$name = $info['filename']; 
$ext = $info['extension']; 

$name = pathinfo($filename)['filename']; 

$dir = opendir('folder/'); 
while ($read = readdir($dir)) 
{ 

if ($read!='.' && $read!='..') 
{ 
echo '<li><a class="" href="folder/'.$read.'">'.$name.'</a></li>'; 
} 

} 

closedir($dir); 

?> 

Toute aide est très appréciée.

+0

Pourquoi voudrait-on faire cela? Un nom de fichier en soi est une identification très peu fiable et arbitraire d'un fichier de toute façon. Le raccourcir et supprimer des informations n'améliore certainement pas ce problème. Du point de vue des utilisateurs, un nom de fichier ne devrait pas être pertinent de toute façon, c'est le titre d'un fichier qui a du sens. En dehors de cela: s'il vous plaît noter qu'il peut y avoir des fichiers sans ou avec plusieurs extensions. Ce que l'on appelle généralement "extension de nom de fichier" n'est en réalité qu'une partie du nom de fichier qui se trouve d'une certaine manière. Il n'a pas de signification particulière d'un point de vue technique. – arkascha

+0

Je ne comprends pas ... essayez-vous aussi de générer un répertoire de fichiers en sortie HTML? –

Répondre

1

plus facile de le faire en utilisant le ScanDir de PHP

http://php.net/manual/en/function.scandir.php

$files = array_diff(scandir('folder/'), array('.', '..')); 

foreach($files as $file){ 

    $name = strstr($file, '.', TRUE); 
    echo '<li><a class="" href="folder/'.$file.'">'.$name.'</a></li>'; 

} 
+0

seul problème avec cela est qu'il affiche des liens vers le répertoire parent. – Kez

+0

Correction de ce problème. – Kaylined

+0

echo '

  • '.$name.'
  • '; –