PHP: echo : renvoyer un lien

langelot38 Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   -  
webdo Messages postés 80 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai créé un site, et j'ai un dossier dans lequel j'ai des fichiers.
J'ai un fichier PHP qui me fait la liste des fichiers présents dans le dossier où il se trouve, voici le code:

<?php
$d = dir(".");
while($entry = $d->read()) {
echo $entry."<br>\n";
}
$d->close();
?>
<?
      $folder = "./";
      $dossier = opendir($folder);
      while ($Fichier = readdir($dossier)) {
      if ($Fichier != "." && $Fichier != "..") {
      $nomFichier = $Fichier;
      echo "$nomFichier" ;
      echo "<br>";
      }
      }
      closedir($dossier);
      ?>



il m'affiche donc la liste des fichiers présent dans le dossier sans problème (après vérification, je m'aperçois qu'il me les met en double... et je ne vois pas l'erreur...) et ce que je voudrais, c'est qu'il m'affiche le nom du fichier, mais avec une url qui redirigerais vers le fichier. Je m'explique:

j'ai un fichier que l'on appellera toto.txt qui se trouve ici:
http://monsite.mondomaine.fr/telechargements/

donc son url est:
http://monsite.mondomaine.fr/telechargements/toto.txt
et si j'entre cet URL, Firefox télécharge le fichier toto.txt, et je l'ai en local.

Ce que je voudrais, c'est que dans ma liste, quand l'utilisateur clique sur le nom du fichier, son navigateur web télécharge le fichier.

ma question est, comment faire?

Je pense qu'il doit y avoir quelque chose à rajouter à mon "echo", mais je ne sais pas quoi... Et d'avance merci à vous d'avoir pris le temps de me lire et d'avoir cherché à m'aider.

A voir également:

1 réponse

webdo Messages postés 80 Date d'inscription   Statut Membre Dernière intervention   6
 
Salut, ton problème est simple
Remplace ton echo par celui-ci:

echo '<a href="http://adresse.com/dossier/'.$nomFichier.'">'.$nomFichier.'</a>' ;


Ou encore

echo "<a href=\"http://adresse.com/dossier/$nomFichier\">$nomFichier</a>";



L'un ou l'autre tu aura le même résultat (Avec le deuxième echo n'oublie pas les \ devant " sinon tu auras une erreur).


Et aussi ne fait pas deux echo pour rien tu peux mettre ton <br/> dans le premier
0