Listing d'un repertoire sous une forme precise

cs_matthieugoua Messages postés 9 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 22 mai 2009 - 21 mai 2008 à 23:45
cs_matthieugoua Messages postés 9 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 22 mai 2009 - 22 mai 2008 à 11:03
Bonjour a vous, je suis debutant et je recherche un moyen de lister le contenu d'un repertoire et que a la sortie celui-ci soit sous la forme

http://fichier.mp3 | http://fichier2.mp3 | http://fichier3.mp3 | ...

j'ai bien trouver un scripts ici permentant de lister le contenu d'un repertoire (ici meme)

mais je n'arrive pas a ce que le resultats me soit donner sous la forme cité ci-dessus

si quelqu'un avais une idée je lui en serais fortement reconnaissant

merci d'avance Matthieu

5 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
22 mai 2008 à 01:08
salut

<li>echo '['.($repertoire).'/'.rawurlencode(str_replace ('/', '', $value)).'">'.$value.']
';
</li><li> }
</li>
suffit de le remplacer par

<li>echo 'http://..../'.$value.' | ';
</li><li> }
</li>
0
cs_matthieugoua Messages postés 9 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 22 mai 2009
22 mai 2008 à 02:47
merci coucou747, me manque plus qua trouver comment remplacer les .... par le chemin ou se trouve le dossier pour ne pas avoir a modifier le fichier PHP a chaque nouveau dossier
0
cs_matthieugoua Messages postés 9 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 22 mai 2009
22 mai 2008 à 03:12
voila mon code dans son etat actuel

<?php

function listing($repertoire){

$fichier = array();

if (is_dir($repertoire)){

$dir = opendir($repertoire); //ouvre le repertoire courant désigné par la variable
while(false!==($file = readdir($dir))){ //on lit tout et on récupere tout les fichiers dans $file

if(!in_array($file, array('.','..'))){ //on eleve le parent et le courant '. et ..'

$page = $file; //sort l'extension du fichier
$page = explode('.', $page);
$nb = count($page);
$nom_fichier = $page[0];
for ($i = 1; $i < $nb-1; $i++){
$nom_fichier .= '.'.$page[$i];
}
if(isset($page[1])){
$ext_fichier = $page[$nb-1];
if(!is_file($file)) { $file = '/'.$file; }
}
else {
if(!is_file($file)) { $file = '/'.$file; } //on rajoute un "/" devant les dossier pour qu'ils soient triés au début
$ext_fichier = '';
}

if($ext_fichier != 'php' and $ext_fichier != 'html' and $ext_fichier != 'jpg' and $ext_fichier != 'zip') { //utile pour exclure certains types de fichiers à ne pas lister
array_push($fichier, $file);
}
}
}
}

natcasesort($fichier); //la fonction natcasesort( ) est la fonction de tri standard sauf qu'elle ignore la casse

foreach($fichier as $value) {
echo 'http://www.leblogdulibre.fr/public/..../'.$value.' | ';
}

}

//exemple d'utilisation :

listing('.'); //chemin du dossier

?>

et voila le résultat qui en ressort

http://www.leblogdulibre.fr/public/..../01 - Making Me Nervous.mp3 |
http://www.leblogdulibre.fr/public/..../02 - Look and Feel Years
Younger.mp3 | http://www.leblogdulibre.fr/public/..../03 - Fixing My
Brain.mp3 | http://www.leblogdulibre.fr/public/..../04 - Bad
Attraction.mp3 | http://www.leblogdulibre.fr/public/..../05 - Sick as a
Dog.mp3 | http://www.leblogdulibre.fr/public/..../06 - Borderline.mp3 |
http://www.leblogdulibre.fr/public/..../07 - I Think I Started a
Trend.mp3 | http://www.leblogdulibre.fr/public/..../08 - Never Get
Out.mp3 | http://www.leblogdulibre.fr/public/..../09 - Overreacting.mp3
| http://www.leblogdulibre.fr/public/..../10 - Dirtbag.mp3 |
http://www.leblogdulibre.fr/public/..../11 - Time to Take out the
Trash.mp3 | http://www.leblogdulibre.fr/public/..../12 - Work out
Fine.mp3 |

il me reste donc 3 point a voir

<ol><li>enlever les etrange caractere en tout debut de premiere ligne</li><li>arriver a ce qu'il remplace les .... par le chemin ou se trouve les mp3 (Totalement libre de droits au passage)</li><li>lui dire de ne pas mettre de | apres la derniere musique du repertoire</li></ol>Voila si une ame charitable passai par la et pouvais me donner des pistes, car perso j'ai decouvert le PHP y'a moins de 2 jours

merci par avance Matthieu
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
22 mai 2008 à 07:23
je me cite

<li>echo '['.rawurlencode($repertoire).'/'.rawurlencode(str_replace ('/', '', $value)).' '.$value.']
';
</li><li> }
</li>suffit de le remplacer par

<li>echo 'http://..../'.$value.' | ';
</li><li> }
</li>t'as [as l'impression qu'il y a une variable qui s'appelle $repertoire au debut.... tu ne peux pas l'utiliser ?
<li>foreach($fichier as $n=>$value) {
</li><li>if ($n!=0) echo ' | ';
</li><li>echo $repertoire).'/'.$value;
</li><li> }
</li>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_matthieugoua Messages postés 9 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 22 mai 2009
22 mai 2008 à 11:03
bon j'y suis presque arriver

voila mon résultat actuel

/public/Rock/Brad_Sucks/list2.php01 - Making Me Nervous.mp3 |
/public/Rock/Brad_Sucks/list2.php02 - Look and Feel Years Younger.mp3 |
/public/Rock/Brad_Sucks/list2.php03 - Fixing My Brain.mp3 |

j'y suis presque me reste te juste a trouver comment retirer  lelist2.php qui apparait pour chaque fichier lister

Voila l'eta de mon code actuellement

<?php

function listing($repertoire){

$fichier = array();

if (is_dir($repertoire)){

$dir = opendir($repertoire); //ouvre le repertoire courant désigné par la variable
while(false!==($file = readdir($dir))){ //on lit tout et on récupere tout les fichiers dans $file

if(!in_array($file, array('.','..'))){ //on eleve le parent et le courant '. et ..'

$page = $file; //sort l'extension du fichier
$page = explode('.', $page);
$nb = count($page);
$nom_fichier = $page[0];
for ($i = 1; $i < $nb-1; $i++){
$nom_fichier .= '.'.$page[$i];
}
if(isset($page[1])){
$ext_fichier = $page[$nb-1];
if(!is_file($file)) { $file = '/'.$file; }
}
else {
if(!is_file($file)) { $file = '/'.$file; } //on rajoute un "/" devant les dossier pour qu'ils soient triés au début
$ext_fichier = '';
}

if($ext_fichier != 'php' and $ext_fichier != 'html' and $ext_fichier != 'jpg' and $ext_fichier != 'zip') { //utile pour exclure certains types de fichiers à ne pas lister
array_push($fichier, $file);
}
}
}
}

natcasesort($fichier); //la fonction natcasesort( ) est la fonction de tri standard sauf qu'elle ignore la casse

foreach($fichier as $value) {
echo $_SERVER[PHP_SELF].$value.' | ';
}

}

//exemple d'utilisation :

listing('.'); //chemin du dossier

?>

merci encore une fois pour votre aide
0
Rejoignez-nous