Afficher chaine de caractere contenu dans 1 fichier txt

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Afficher chaine de caractere contenu dans 1 fichier txt

par sadeq » 09 mai 2005, 08:34

Si tu écrit ce programme dans une page nommée "explorer.php" il suffit de démarrer cette page sous ton navigateur en tapant :
http://ton_serveur/explorer.php?rep=E:\DOSSIER\COURRIER

Le paramètre est rep

Pour Sadeq

par Matahi » 05 mai 2005, 02:49

Merci pour l'info.

Je ne suis que novice en la matière.

Quels sont les paramètres de code que je dois modifier pour l'adapter à une
arborescence particulière : "E:\DOSSIER\COURRIER".

Matahi

:P

par Spetznaz » 03 mai 2005, 20:03

Waou ! :shock:
Félicitations Sadeq !

C'est du beau boulot. J'ai pas testé mais la "complexité" du code m'inpressionne assez. déjà que j'ai eu un peu de mal pour le peu que j'ai fait alors là chapeau.

par sadeq » 03 mai 2005, 15:15

Reprise et développement du code de Spetznaz, et ça donne un véritable explorateur de fichiers qui fonctionne en mode local.
<?php
 //Ce programme est un explorateur de fichiers (mode local) 
    $tableau = array(); 

    // Fonctions 
	//Pour l'extension d'un fichier
    function getExtension($entrée) 
    { 
	  	$parties = explode(".", getNom($entrée)); 
      	return isset($parties[1])?".$parties[1]":null;
    } 
	//Pour le nom d'un fichier ou dossier
    function getNom($entrée) 
    { 
		$entrée = str_replace("\\","/",$entrée);
		$parties = explode("/",$entrée);
		if (count($parties)>0) return $parties[count($parties)-1]; else return $entrée;
    } 
	//Pour la liste des dossiers parents d'une entrée
    function getListeChemins($entrée) 
    { 
	  	$entrée = str_replace("\\","/",$entrée);
		$parties = explode("/",$entrée);
		for ($i=1; $i < count($parties); $i++)
			$parties[$i] = $parties[$i-1]."/".$parties[$i];
		return $parties;
    }
	//Pour le chemin complet d'une entrée
	function getChemin($entrée) 
    { 
	  	$nom = getNom($entrée);
		return str_replace($nom,"",$entrée);
    }
	//Pour classer le contenu (dossiers ou fichiers) par un ordre choisi
	function trier($entrée, $ordre="ASC", $ignore_casse=true) 
    { 
		//tri classique : Echange
		for ($i=0; $i < count($entrée)-1; $i++)
			for ($j=$i+1; $j < count($entrée); $j++)	{
				//comparer et classer les noms
				$nom1 = getNom($entrée[$i]);
				$nom2 = getNom($entrée[$j]);
				
				//Ignorer la casse
				if ($ignore_casse) {$nom1 = strtoupper($nom1);$nom2 = strtoupper($nom2);}
				
				//le tri (ordre croissant par défaut)
				if ((strtoupper($ordre) != "DESC" & $nom1 > $nom2)
				    ||(strtoupper($ordre) == "DESC" & $nom1 < $nom2)) 
					{$temp = $entrée[$i]; $entrée[$i]=$entrée[$j]; $entrée[$j] = $temp; }
			} 
 		return $entrée;
    } 

    //Récupérer des paramètres HTTP 
 	$rep =isset($_GET["rep"])?$_GET["rep"]:"A:"; 
 	$ordre =isset($_GET["ordre"])?$_GET["ordre"]:"ASC"; 
	
	//Le titre
	echo "<table width=100%><legend><h3>Contenu de $rep</h3><hr></legend>
		<tr><th align=left>Ordre: <A href='explorer.php?rep=$rep&ordre=ASC'>aA</A>  <A href='explorer.php?rep=$rep&ordre=DESC'>Aa</A>";
	
	//Historique des dossiers parcourus
	$chemin = getListeChemins($rep);
   	if (isset($chemin) && count($chemin)>1){
		echo "<th align=right>Dossiers parents :";
		for ($i=0; $i<count($chemin)-1; $i++){
		    if ($i==count($chemin)-2) $style ="b"; else $style="i";
			$index = $i+1;
			echo "<th> <$style><A href='explorer.php?rep=$chemin[$i]&ordre=$ordre'>$index </A></$style>";
		}
		echo "</table>";
	}
	
	//Affichage d'un fichier demandé par un lien hTTP
	if (is_file($rep) ) {
		echo "<iframe src='$rep' width=100% height=100%></iframe>";
	}
	else {
	  //Exploration d'un dossier et affichage de son contenu
		//Ouverture du dossier ou lecteur à explorer
		$dossier = @opendir($rep);
		if (isset($dossier) && $dossier != null) {
		    //Explorer le contenu du dossier ouvert
    		while ($entrée = readdir ($dossier)) 
    		{ 
				//Une entrée peut être un fichier ou sous-dossier (ignorer la branche générique du parent)
				if ($entrée != null && $entrée != "." && $entrée != ".."){
				 if (is_file("$rep/$entrée")){
				 	//mémoriser le fichier trouvé
        			$fichiers[] =  "$rep/$entrée"; 
				 }else 
				 	//mémoriser le dossier trouvé
					$dossiers[] = "$rep/$entrée";
				}
    		}
			//Fermer le chemin exploré 
    		closedir ($dossier);
			
			//Appliquer le classement des dossiers ou fichiers trouvés (selon le paramètre $ordre)
	    	if (isset($dossiers)) $dossiers = trier($dossiers,$ordre);
	    	if (isset($fichiers)) $fichiers = trier($fichiers,$ordre);
		}
		
    
		//Affichage de la liste des dossiers et fichiers trouvés
		$nbcol=3; //--- détermine le nombre de colonnes de l'affichage 
    	echo "<table align=center width=100%><legend></legend>";
	
		//Comptage des ressources
		$nbDossiers= isset($dossiers)?count($dossiers):0;
		$nbFichiers= isset($fichiers)?count($fichiers):0;
		echo "<tr><th colspan=$nbcol align=left><font size=1>$nbDossiers dossier(s) et $nbFichiers fichier(s) </font>";
    
		//Afficher les dossiers (icône dossier + le nom + un lien hTTP vers la ressource)
		if (isset($dossiers))
		for ($i=0; $i<count($dossiers); $i++) 
    	{ 
     	 if ($i%$nbcol==0)  echo "<tr>"; 
                           //Réduire la taille du texte d'un nom > à 20 caractères
	  	if (strlen(getNom($dossiers[$i]))>20) $taille= 1; $taille=2;
     	 echo "<td><font size=$taille><A href='explorer.php?rep=$dossiers[$i]&ordre=$ordre' style='text-decoration:none'>
			    <img src='dossier.gif' align=center border=0 alt='$dossiers[$i]'> ".strtoupper(getNom($dossiers[$i]))."</img></A></font>";
    	} 
	
		//Afficher les fichiers (icône fichier + le nom + un lien hTTP vers la ressource)
		if (isset($fichiers))	
		for ($i=0; $i<count($fichiers); $i++) 
    	{ 
      	if ($i%$nbcol==0)  echo "<tr>"; 
	 	 //Réduire la taille du texte d'un nom > à 20 caractères
	  	if (strlen(getNom($dossiers[$i]))>20) $taille= 1; $taille=2;

            echo "<td><font size=$taille><A href='explorer.php?rep=$fichiers[$i]&ordre=$ordre' style='text-decoration:none'>
			        <img src='fichier.gif' align=center border=0 alt='$fichiers[$i]'> ".getNom($fichiers[$i])."</img></A></font>";
    	}
		echo "</table>"; 
 	} //Fin de l'explorartion du dossier et de l'affichage de son contenu
?> 

par Spetznaz » 03 mai 2005, 01:50

Tiens voici un code que j'ai fais pour la gallerie d'image qui fait parti du site que je conçois pour une amie
<html>
  <head>
    <link title="test" type="text/css" rel="stylesheet" href="style.css">
  </head>
  <body>
    <h1>Vos Window Color</h1>
    <?php
    // On déclare une variable de type tableau
    // qui contiendra le nom des fichiers
    $tableau = array();

    // Fonction qui séparent
    // le nom de fichier et son extension.
    function extfichier($fichier)
    {
      $parties = explode(".", $fichier);
      return array_pop($parties);
    }

    function nomfichier($fichier)
    {
      $parties = explode(".", $fichier);
      return $parties[0];
    }

    // Ouverture du dossier visé
    $rep ="mbwincol";
    $dossier = opendir($rep);
    $fichier = readdir($dossier);

    while ($fichier = readdir ($dossier))
    {
      $nom = nomfichier($fichier);
      $extention = extfichier($fichier);

      if ($extention=="gif" or $extention=="GIF"
       or $extention=="jpg" or $extention=="JPG"
       or $extention=="bmp" or $extention=="BMP"
       or $extention=="png" or $extention=="PNG" )
      {

        // on stocke le nom des fichiers
        $nomfichier[] = nomfichier($fichier);
        $extfichier[] = extfichier($fichier);
      }
    }

    closedir ($dossier);

    $nbcol=3; //--- détermine le nombre de colonnes de l'affichage

    echo '<table align="center">';
    for ($i=0; $i<count($nomfichier); $i++)
    {

    if ($extfichier[$i]!=="")
    {
      if ($i%$nbcol==0)
      echo '<tr>';
      echo "
      <td class=\"galerie\">
         <a href=\"$rep/$nomfichier[$i].$extfichier[$i]\">
             <img width=\"100\" height=\"100\" src=\"$rep/$nomfichier[$i].$extfichier[$i]\">
             <br> $nomfichier[$i]
           </a>
         </td>";

      if($i%$nbcol==($nbcol-1))
      echo '</tr>';

    }
    }
echo '</table>';
?>

  </body>
</html>
J'a plein de boulot a faire dessus mais ça recense tes noms de fichiers dans un tableau. En le modifiant un peu tu pourras surement faire des trucs sympa ;)

Il est un peu tard je te laisse débrouiller pour comprendre le code.
Voici un Lien utile

par Matahi » 03 mai 2005, 00:39

Pour ce qui est de la chaîne de caractère,
j'entends par la récupérer une partie du texte du fichier qui commence toujours par le mot "OBJ/" et l'afficher à côté du lien sur la page web pour chaque fichier.

Merci pour le reste
Je vais essayer

:lol:

par Cyrano » 02 mai 2005, 23:21

Ok, alors pour la récupération de la liste, je te suggère une petite lecture du manuel sur la fonction readdir()

Quand tu as le nom du fichier et que tu disposes déjà du chemin d'accès, il te reste à construire le lien en faisant une concaténation :
$url_fichier = $chemin_repertoire."/".$nom_fichier;
Pour la chaine de caractère, je ne saisis pas bien de quoi tu parles : est-ce que c'est une partie du texte du fichier ?

Réponse à Cyrano

par Matahi » 02 mai 2005, 23:09

J'ai besoin d'aide pour effectuer les 3 parties.
A savoir lister automatiquement tous les fichiers présents dans le répertoire,
établir le lien pour chacun des fichiers afin que l'on puisse y accéder directement depuis la page web et surtout récupérer la chaîne de caractère pour chacun des fichiers afin de l'afficher en correspondance de chaque lien sur la page web.

J'espère avoir répondu à ta question.

Merci

javascript:emoticon(':P')
Razz

par Cyrano » 02 mai 2005, 22:41

Pour quelle partie de ton application as-tu besoin d'aide ?
-1- Lister les fichier du répertoire?
-2- Indentifier chacun des fichiers?
-3- Établir le lien avec le fichier sur la page?

Grosso-modo, de quoi disposes-tu et de quoi as-tu besoin ?

Afficher chaine de caractere contenu dans 1 fichier txt

par Matahi » 02 mai 2005, 22:30

Bonjour,

je débute tout juste.
J'aurai aimé avoir un petit coup de pouce

Voilà, je souhaiterai afficher sur une page web la liste des fichiers texte contenu dans un dossier ainsi que pour chaque fichier une chaîne de
caractère spécifique de la forme suivante "OBJ/............. se terminant par REF/ ou TXT" contenu dans le fichier.

Mjavascript:emoticon(':roll:')
Rolling Eyeserci d'avançe pour votre aide.