Rechercher : dans
Par :

[PHP] Afficher le contenu d'un fichier

Dernière réponse le 29 jui 2009 à 12:13:25 jahs, le 15 nov 2006 à 01:20:00 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « [PHP] Afficher le contenu d'un fichier » dans :
[PHP] Lister le contenu d'un répertoire VoirGrâce à PHP, il est possible d'afficher le contenu d'un répertoire et de ses sous-répertoires. Voici ci-dessous une fonction permettant de parcourir récursivement les répertoires et sous-répertoires et d'en afficher les fichiers : function...
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
PHP - Affichage de texte sur le navigateur VoirLe but de PHP est de permettre la création de pages web dynamiques, ainsi son but premier est de pouvoir envoyer des données au navigateur. Les trois fonctions standards PHP fournit 3 fonctions permettant d'envoyer du texte au navigateur. Ces...

1

kij_82, le 15 nov 2006 à 10:14:16
  • +1

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

Ssylvainsab, le 15 nov 2006 à 12:52:32

Je pense que cette fonction pourra t'aider : http://php.net/readfile/

Essaye :

$contenuFichier=readfile($fichier);
echo $contenuFichier;
Sylvain

Répondre à Ssylvainsab

3

Mwaha, le 30 mar 2009 à 19:31:26
  • +2

3 ans plus tard une autre réponse:

<?php
// Définition du chemin à explorer, garder le dernier "/"
   $homedir = "./info/";


    $dir = @opendir($homedir);
    
    while ($file = readdir($dir)) {
      		if (($file != ".") && ($file != "..")) lireFichierTxt($homedir, $file);
    }
    closedir($dir);




function lireFichierTxt($homedir, $fileTxt){
//$Fnm = "./info/info.txt"; 
$Fnm = $homedir.$fileTxt; 
if (file_exists($Fnm)) {
 $tableau = file($Fnm);
  while(list($cle,$val) = each($tableau)) {
   echo $val."<br>"."<br>";
  }
}
}
?>

Répondre à Mwaha

4

 cakou13, le 29 jui 2009 à 12:13:25

Ouvrir l’Explorateur et choisir dans Affichage la commande Options. En haut de la fenêtre
affichée, cliquer sur l’onglet Types de fichiers. Windows affiche la liste de tous les fichiers
qu’il utilise. Dans la zone Types de fichiers, cliquer sur Dossiers et sur Modifier. Windows
propose une liste d’actions. il faut créer une nouvelle action. Cliquer sur Nouveau et nommer
l’action en tapant dans le cadre Action par exemple Contenu du dossier. Dans le cadre
Application utilisée pour exécuter l’action taper exactement :

command.com*/c*dir*/b/s*>*c:\Windows\Bureau\Listing.txt ( les * sont des espaces )

Cliquer sur ok et l’action apparaît dans la liste. Cliquer sur fermer deux fois consécutives.
La liste sera copiée dans un document nommé Listing.txt affiché sur le bureau.
Pour obtenir le contenu d’un dossier, cliquer avec le bouton droit de la souris sur ce dossier
et dans le menu contextuel, sélectionner Contenu du dossier. Le dossier Listing.txt correspondant
est créer sur le bureau.

Répondre à cakou13
Collection CommentÇaMarche.net