KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Samedi 17 mai 2008 - 11:16:14

[PHP] Afficher le contenu d'un fichier

Rechercher : dans
[PHP] Afficher le contenu d'un fichier
par jahs
 Fil de Discussions
Statut : Résolu
mercredi 15 novembre 2006 à 01:20:00
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. sRh
Répondre à jahs  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par kij_82, le mercredi 15 novembre 2006 à 10:14:16 Fil de Discussions
Voici une solution simple et qui devrait marcher (non testée car je peux pas actuellement) donc il y a peut etre des erreurs --> a debugger.

<SCRIPT language="javascript">
function aff_fichier ( contenu ){
	var _div = document.getElementById("lecture");
	_div.innerHTML = contenu;
}
</SCRIPT>

<?php

function lire_fichier ( $path_file ){
	// --- Open the file
	$tableau=file( $path_file );
	
	// affichage du contenu du tableau
	$contenu = "";
	while ( $i < count($tableau) ){
		// --- reprise de l'ensemble du fichier
		$contenu = $tableau[i];
	}
	
	// --- Il s'agit ici d'afficher le résultat de la lecture dans ta div 'lecture'
	// --- appel à une fonction javascript
	echo '<SCRIPT language="javascript">aff_fichier("'.$contenu.'")</SCRIPT>';
}

// --- Affichage de tes liens :
echo '<a href="lire_fichier(\"./exemple.txt\")">exemple.txt</a>';

// --- Affichage de ta div :
echo '<div id="lecture" name="lecture"></div>';


?>



Il faut que tu inclus les fonctions dans ton fichier script existant, là ou j'ai mis un lien, il s'agit d'un exemple, donc c'est là que tu aura ta liste de lien établi par ton précédent script, ajoute juste dans le HREF de ces liens, l'appel vers la fonction donnée ici, avec le chemin complet + nom du fichier du lien :)

Bon courage.

~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~
Répondre à kij_82

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Ssylvainsab, le mercredi 15 novembre 2006 à 12:52:32 Fil de Discussions 
Je pense que cette fonction pourra t'aider : http://php.net/readfile/

Essaye :
$contenuFichier=readfile($fichier);
echo $contenuFichier;
Sylvain
Répondre à Ssylvainsab
Discussions pertinentes trouvées dans le forum
08/11 22h07afficher contenu fichier html dans messagerieMessagerie/Chat09/11 20h029
16/06 12h07[php]affichage de fichier zipProgrammation16/06 22h331
04/11 15h43afficher contenu d'un fichier ( php )Webmastering06/05 02h0011
23/11 11h32affichage contenu repertoire en phpWebmastering31/03 23h121
Plus de discussions sur « [PHP] Afficher le contenu d'un fichier » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide