[PHP] Afficher le contenu d'un fichier

Résolu/Fermé
jahs Messages postés 15 Date d'inscription mardi 11 juillet 2006 Statut Membre Dernière intervention 30 novembre 2006 - 15 nov. 2006 à 01:20
smed_79 Messages postés 1288 Date d'inscription dimanche 21 septembre 2008 Statut Contributeur Dernière intervention 17 mars 2017 - 19 janv. 2012 à 01:46
Bonjour à tous !

Sur ma page, j'ai réussi à :
- ouvrir un dossier (dans un répertoire sur mon dd local) et
- afficher sous forme de liens, les fichiers contenus dans ce dossier.

Ce que je voudrais, c'est afficher sous le nom de chaque fichier, leur contenu,

ou bien,

afficher leur contenu, dès que l'utilisateur clique sur le lien correspondant.

L'on m'a, ainsi proposé cela :

Je cite : "pour afficher le contenu du fichier juste au dessous du nom, tu peux ajouter juste au dessous de l'instuction d'affichage du nom un appel à include, t'auras un truc du genre :

print("<br> $nom_fichier");
include("$chemin/$nom_fichier");


"

Je m'explique donc, ce qui m'a été proposé est ok, mais pas dans la fonction ci-dessous :

function affich_nom_fichier ($????)
 
   {
        if($open = opendir('file:///C:/Program Files/xampp/htdocs/cipac/base_cipac/Management/ELP/Formulaires')){
                while (false !== ($file = readdir($open))){
                        if ($file != "." && $file != ".."){
                                $link_file = "$file\n";
                                        echo ("$link_file");
                                       $chemin = "file:///C:/Program Files/xampp/htdocs/cipac/base_cipac/Management/ELP/Formulaires";
                                print ("$chemin/Essai.txt");
                        }}closedir($open);}}


Pour m'exprimer clairement, cette fonction même affiche les nom de fichiers présents dans le dossier suivant le chemin ($chemin) et affiche le contenu du fichier Essai.txt.

Or ce que je voudrais, c'est que suivant le nom du fichier, il affiche "automatiquement" son contenu et que l'on est pas à préciser comme ci-dessous :

$chemin = "file:///C:/Program Files/xampp/htdocs/cipac/base_cipac/Management/ELP/Formulaires";
                                print ("$chemin/Essai.txt")


qu'il s'agit du fichier Essai.txt

Voilà, c'est sur cela que je bloque.

Seconde proposition est :

function affich_nom_fichier ($chemin)
{
  if($open = opendir($chemin))
    while (false !== ($file = readdir($open)))
      if ($file != "." && $file != "..")
      {
         $link_file = "$file";
         echo ("$link_file\n");
         print ("$chemin/$file\n");
      }
  closedir($open);
}


Celle ci marche, sauf que je voudrais afficher le contenu du fichier et non le lien.

Troisième et dernière proposition :

echo file_get_contents('nom_du_fichier');


Ne fonctionne pas, non plus :

{
        if($open = opendir('file:///C:/Program Files/xampp/htdocs/cipac/base_cipac/Management/ELP/Formulaires')){
                while (false !== ($file = readdir($open))){
                        if ($file != "." && $file != ".."){
                                $link_file = "$file\n";
                                echo ('Nom du fichier : '."$link_file\n<br><br>");
                                echo file_get_contents("../cipac/base_cipac/Management/ELP/Formulaires/$link_file\n");
                                
                        }}closedir($open);}}}


Résultat, il m'affiche ceci :

Warning: file_get_contents(../cipac/base_cipac/Management/ELP/Formulaires/Essai.txt ) [function.file-get-contents]: failed to open stream: Invalid argument

Si vous voyez de possibles solutions dites le moi.Merci bien.

Merci de votre aide.

5 réponses

smed_79 Messages postés 1288 Date d'inscription dimanche 21 septembre 2008 Statut Contributeur Dernière intervention 17 mars 2017 846
19 janv. 2012 à 01:46
6 ans plus tard :D lol

<?php
$lines = file('./fichier-a-afficher-le-contenu.txt');

// display file line by line
foreach($lines as $line_num => $line) {
    echo "# {$line_num} : ".htmlspecialchars($line)."<br />\n";
}
?>

9