Lien hypertexte

Résolu
totem8616 Messages postés 13 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 17 mai 2007 - 16 mai 2007 à 20:04
totem8616 Messages postés 13 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 17 mai 2007 - 17 mai 2007 à 00:21
Bonjour

Je débute dans la programmation en javascript et je bute sur un probleme.

En fait, je souhaite à partir d'un fichier html pouvoir récupérer le nom des fichiers contenu dans un dossier. Ensuite pour chaque fichier avoir un lien qui permet d'ouvrir ce fichier.

J'arrive à récupérer la liste des fichiers, mais je n'arrive pas à les faire apparaitre sous forme de liens pour les ouvrir. De plus je suis obligé de mettre un chemin absolu pour désigner le dossier en question, or je voudrait pouvoir avoir un chemin relatif.

Merci

14 réponses

yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
16 mai 2007 à 21:47
Salut
essai ça:

<script type="Text/JavaScript">
var fso = new ActiveXObject("Scripting.FileSystemObject");
function lit_fic(rep)

{var res="";

var f = fso.GetFolder(rep);
var ff = new Enumerator(f.files);
for(; !ff.atEnd(); ff.moveNext()){
extension = fso.GetExtensionName(ff.item());
extension = "."+extension+"extens"
res+=""+ff.item()+"extens"+"<\/a> - "
res=res.replace(extension,"");
}

return res;
}
document.write(lit_fic("dossier"));
</script>
3
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
16 mai 2007 à 20:06
Salut
donne nous le code avec le quel tu recupere tes fichiers
0
totem8616 Messages postés 13 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 17 mai 2007
16 mai 2007 à 20:22
le voici.

<script type="Text/JavaScript">
var fso = new ActiveXObject("Scripting.FileSystemObject");
function lit_fic(rep)

{   var res="";
  
    var f = fso.GetFolder(rep);
    var ff = new Enumerator(f.files);
    for(; !ff.atEnd(); ff.moveNext())
        res+=ff.item()+" - ";
   
    return res;
}
document.write(lit_fic("d:/dossier/"));
</script>
0
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
16 mai 2007 à 20:29
Salut
essai ça

<scripttype=  "Text/JavaScript">
  var   fso   = new ActiveXObject("Scripting.FileSystemObject"); 

function lit_fic(rep)

{var res=  ""; 

  var   f   = fso.GetFolder(rep); 
var ff =     new   Enumerator(f.files); 
for(; !ff.atEnd(); ff.moveNext())
res+  =" href="+ff.item()+">"+ff.item()+"<\/a> - "; 

return res; 
}
document.write(lit_fic("d:/dossier/")); 
</script>
0

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

Posez votre question
totem8616 Messages postés 13 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 17 mai 2007
16 mai 2007 à 20:37
Merci

Ca fonctionne bien
j'ai essayé de mettre ".dossier" à la place de "d:/dossier" pour avoir un chemin relatif mais ça ne fonctionne pas est ce que ma syntaxe est mauvaise ?

Merci encore
0
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
16 mai 2007 à 20:38
Salut
il faut que tu mets "../dossier"
0
totem8616 Messages postés 13 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 17 mai 2007
16 mai 2007 à 20:48
Ca ne fonctionne pas...
le fichier et le dossier sont dans le meme dossier

voici je que j'ai écrit                 
 document.write(lit_fic("../Courrier"));

est ce qu'il est possible d'afficher simplement le nom du fichier (sans l'extension si je n'en demande pas trop) la place du chemin complet ?

merci
0
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
16 mai 2007 à 21:31
Salut
si le fichier et le dossier sont dans le meme repertoire tu mets le nom du dossier seulement "Courrier"
pour afficher le nom du fichier sans extension essai ça:

<scripttype=  "Text/JavaScript">
  var   fso   = new ActiveXObject("Scripting.FileSystemObject"); 

function lit_fic(rep)

{var res=  ""; 

  var   f   = fso.GetFolder(rep); 
var ff =     new   Enumerator(f.files); 
for(; !ff.atEnd(); ff.moveNext()){
extension   = 
fso.GetExtensionName(ff.item()); 

extens = "."+extension+"extens" 
res+=" href="+ff.item()+">"+ff.item()+"extens"+"<\/a> - " 

res=res.replace(extens,""); 

}

return res; 
}
document.write(lit_fic("dossier")); 
</script>
0
totem8616 Messages postés 13 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 17 mai 2007
16 mai 2007 à 21:42
J'ai ce "[undefined undefinedextens]" à l'affichage
0
totem8616 Messages postés 13 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 17 mai 2007
16 mai 2007 à 22:00
Je te remercie, ça fonctionnr impec
ouff

Je n'ai pas du tout l'habitude de cette syntaxe. mais dans l'ensemble je décrypte ce qui est marqué.
Je vais essayé de trouver comment enlever le chemin du dossier pour n'avoir en affichage que le nom du fichier

Merci encore
0
totem8616 Messages postés 13 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 17 mai 2007
16 mai 2007 à 22:51
Excuse moi encore
A quoi sert la chaine "extens"

merci
0
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
16 mai 2007 à 22:54
Salut
ça ne sert à rien je l'ai mis seulement pour connaitre la fin de l'extension car si je fais seulement
extension = "."+extension
tout le texte qui suit l'extension sera supprimé
0
totem8616 Messages postés 13 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 17 mai 2007
16 mai 2007 à 23:03
J'ai insérer cette ligne à la suite du replace
res=res.replace(f+"\/","");
afin de supprimerle chemin mais ça ne veut pas me l'enlever.
0
totem8616 Messages postés 13 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 17 mai 2007
17 mai 2007 à 00:21
C BON
J'ai réussi à avoir ce que je voulais.

merci pour ton aide

A+ Totem
0