ecolom
Messages postés68Date d'inscriptionvendredi 4 juin 2004StatutMembreDernière intervention 1 décembre 2012
-
15 févr. 2011 à 12:44
ecolom
Messages postés68Date d'inscriptionvendredi 4 juin 2004StatutMembreDernière intervention 1 décembre 2012
-
15 févr. 2011 à 21:31
BOnjour les Z'amis ( amies) ,
J'ai plusieurs document, doc, pdf, txt,msg qui se trouve sur un serveur.
J'ai trouvé un code sur le net qui me permet d'afficher les différents dossiers et fichiers du dossiers master. Cela fonctionne très bien car l'affichage des dossiers est d'une certaine couleur et les fichiers d'une autre couleur et surtout, c'est trié. Cependant, j'aimerais adapter un lien automatiquement sur ces fichiers et là....Problème. Je sais éditer le premier document de chaque dossier et pas les autres documents d'une même liste. J'ai beau retourner le code dans tous les sens mais je ne vois pas d'où vient l'erreur.
Avez-vous une idée, indication pour faire avancer le schmilblic.
Toute aide est la bienvenue. Merci
<?php
function ListFolder($Folder, $SkipFileExts, $SkipObjects) // Fonction pour lister les dossiers
{
$url = $Folder; // On initialise le début de l'url dynamique
$dir = opendir($Folder);
while (false !($Current readdir($dir))) // Boucle sur tout ce qu'il y a dans le répertoire
{
if ($Current !='.' && $Current != '..' && in_array($Current, $SkipObjects)===false)
{
if(is_dir($Folder.'/'.$Current)) // Si c'est un dossier
{
$url .= "/".$Current; // On ajoute le dossier sur lequel on se trouve pour former dynamiquement l'url
echo ' '.$Current.'
';
ListFolder($Folder.'/'.$Current, $SkipFileExts, $SkipObjects); // On liste les dossiers contenue dans le dossier (récursivité)
}
else
{
$url . = "/".$Current; // On ajoute le nom du fichier pour former dynamiquement l'url
$FileExt = strtolower(substr(strrchr($Current ,'.'),1));
if (in_array($FileExt, $SkipFileExts)===false) // On regarde si on doit afficher cette extension
ecolom
Messages postés68Date d'inscriptionvendredi 4 juin 2004StatutMembreDernière intervention 1 décembre 2012 15 févr. 2011 à 21:31
Merci Ludwig59, cela fonctionne maintenant.
Ce forum est une merveille et les utilisateurs comme vous méritent une ovation.
Précis et rapide. J'espère pouvoir en faire autant quand je maitriserai mieux le php.
cs_ludwig59
Messages postés128Date d'inscriptionlundi 21 avril 2008StatutMembreDernière intervention 6 mai 20112 15 févr. 2011 à 15:50
Bonjour
Le problème vient de la variable $url, car à chaque fois vous concaténé avec le $current.
Essayer ceci :
<html>
<head>
<meta http-equiv= "Content-Type" content="text/html; charset=windows-1252">
<title>New Page 1</title>
</head>
<?php
function ListFolder($Folder, $SkipFileExts, $SkipObjects) // Fonction pour lister les dossiers
{
$dir = opendir($Folder);
while (false !($Current readdir($dir))) // Boucle sur tout ce qu'il y a dans le répertoire
{
if ($Current !='.' && $Current != '..' && in_array($Current, $SkipObjects)===false)
{
if(is_dir($Folder.'/'.$Current)) // Si c'est un dossier
{
echo ' '.$Current.'
';
ListFolder($Folder.'/'.$Current, $SkipFileExts, $SkipObjects); // On liste les dossiers contenue dans le dossier (récursivité)
}
else
{
$FileExt = strtolower(substr(strrchr($Current ,'.'),1));
if (in_array($FileExt, $SkipFileExts)===false) // On regarde si on doit afficher cette extension
echo "$Current
"; // On affiche l'url d'accès au fichier
echo '
';
}
}
}
closedir($dir);
}
$Folder = '//W3ASE01/autocom/documents/communication';
$SkipExts = array('php', 'db');
$SkipObjects = array('UnDossier', 'UnFichier');
ListFolder($Folder, $SkipExts, $SkipObjects);
?>
</html>