IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Lecture de fichiers


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Lecture de fichiers
    Bonsoir a tous

    Je viens juste de m'inscrire sur le forum, et ne sais comment indiquer la zonz en code PHP il est vrai que je débute en HTML, CSS et PHP.... Bien qu'etant habitué a programmer depuis des années en VB... J'ai un probleme de lecture de fichier.
    Ce que je veux faire : ayant un fichier listphoto.txt contenant un numéro, le nom du fichier .jpg et la légende de la photo je veux écrire une liste cliquable des légendes pour afficher telle ou telle image.
    exemple d'une ligne : 004$marcam05$Marcel Cambon (1898-1972)


    J"ai mis en œuvre la procédure suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <div id="listphoto">
       <dl id="photo">
         <h3>Personnes dont une representation est disponible</h3>
    <?php
    			$documents = array();
    			$sosa=array();
    			$cliches=array();
    			$legende=array();
    			$nomfic = "fichiers/listphot.txt";
    			$fp=fopen($nomfic,"r");  
                while(!feof($fp)) // Tant que l'on n'est pas à la fin du fichier on continue de lire le fichier
    			{
    	$ligne=fgets($fp); // On récupère dans le fichier le contenu
    				if ($ligne == NULL or $ligne == " ")
    				{
    				}
    				else
    				{
    					$documents = explode("$",$ligne);
    					$sosa = $documents[0];
    					$cliches = $documents[1];
    					$legende = $documents[2];
    					?>
    	     <a href="affichephoto001.php?cliches= <?php echo $cliches ?>&amp;legende= <?php echo $legende ?>"> <?php echo $legende?> </a> <br>
    					<?php
    				}
    			}
    			?>
    			</dl>
    		</div>
    Cette procédure marche sur mon simulateur EasyPHP mais l'ayant envoyé sur mon hébergeur ça ne marche pas. Il est vrai que celui ci ne donne que PHP4.

    Voila mon problème actuel. Quelqu'un peut-il m'expliquer mon erreur
    Merci d'avance et bonne soirée à tous
    JP Cambon

  2. #2
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    Bonsoir et bienvenue sur developpez.net

    Alors pour commencer est-ce que tu as une erreur qui s'affiche à l'écran ?
    Est-ce que ton serveur affiche les erreurs ? (pour le savoir rapidement écris en une délibérément)
    Est-ce que tu as les droits sur ton fichier texte ?

    Est-ce "affichephoto001.php" est la page que tu nous a mis dans ton post ou bien s'en est une autre ? ... Où est le code chargé d'afficher l'image ? ... C'est peut être là qu'est l'erreur.

    Note : Evite de mettre des espaces un peu partout dans tes URL. Regarde la source générée tu verras des espaces devant les = dans tes balises <a>

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut complements
    Bonsoir
    Merci de t'interesser a mon probleme

    Non je n'ai pas d'affichage d'erreur, simplement ça ne se fait pas

    Oui j'ai mis le CHMOD de mes fichiers a 777

    Non la procedure ci dessus fait partie de la page "album001.php"
    et appelle la page "affichephoto.php" avec les parametres cliches et legende
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    	<body>
    		<?php
    	    $cliches = $_GET["cliches"];
    		$legende = $_GET["legende"];
    		$test = "cliches/" . trim($_GET["cliches"]) . ".jpg";
    		 ?>
    		 <p>
    		 <center>
    		 <img src=<?php  echo $test?> alt =<?php  echo $legende?>> 
    		 </center>
    		 </p>
     
    	</body>
    </html>

  4. #4
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    Ok.

    Hmmm tu devrais mettre des double quote pour "encadrer" les valeurs des attributs src et alt... c'est plus correct... Et sait-on jamais...

    As-tu testé le chemin de l'image en mettant son chemin directement dans l'URL ?

    As-tu regardé la source générée ?

    As-tu tout tout simplement essayé d'écrire l'une de tes balises img à la main ?

  5. #5
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    RE

    Minute.... J'en suis pas à l'image..... Ce qui ne s'affiche pas actuellement c'est la liste contenue dans le fichier ASCII
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $nomfic = "fichiers/listphot.txt";
    $fp=fopen($nomfic,"r"); 
     
    $documents = explode("$",$ligne);
    A mon avis c'est soit le chemin; soit le "explode" qui cloche mais pouquoi ?

    JP Cambon

  6. #6
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    Pourtant ton code semble bon de plus tu n'as pas d'erreur...

    Voilà un code pour lire ton fichier avec tous les tests...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    if ($ressource= fopen($fichier, 'r')) {
        while (!feof($ressource)) {
     
            $ligne = fgets($ressource, 4096);
            // ici fais un echo des lignes de ton fichier pour voir si il le lit bien
        }
        fclose($ressource);
    }
    ?>
    Quant à ton explode il est bon.

  7. #7
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Bonjour

    Excuses moi pour hier soir mais ma liaison a été interrompue et j'ai du réinstaller ma liaison. Quoiqu'il en soit j'ai suivi ton conseil et lance ta routine de lecture..... Même réaction
    La routine marche sur mon PC avec EasyPHP et sort les données du fichier
    mais quand elle est implantée chez mon hébergeur.... Ça donne rien

    Vraiment je n'y comprends rien
    JP Cambon

    J'ai même abrégé ta procédure et ajoute des echo

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
       $fichier="fichiers/listphot.txt";
    //if ($ressource= fopen($fichier, 'r')) {
     //   while (!feof($ressource)) {
           echo $fichier;
           $ressource=fopen($fichier,'r');
    	   echo $ressource;
     
    	   ?>
    	   <br />
    	   <?php
     
     
            $ligne=fgets($ressource, 4096);
            // ici fais un echo des lignes de ton fichier pour voir si il le lit bien
    		echo $ligne;
        //}
        fclose($ressource);
    //}
    ?>
    elle écrit bien le 1er echo = nom du fichier
    mais pas le second

    Si quelqu'un a une idée ????

  8. #8
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    RE

    Finalement j'ai resolu mon pb en mettant l'URL complete "http;//....etc " et CA MARCHE....
    Merci de m'avoir aidé a reflechir a mon probleme
    JP Cambon

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Windows]lecture des fichier lnk (raccourcis)
    Par Tiaps dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 21/10/2009, 20h27
  2. [jsp]lecture de fichier
    Par antigone dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 04/09/2003, 12h05
  3. [AS400][Intranet][PC] Lecture de "fichiers" AS400
    Par lando dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 16/07/2003, 12h11
  4. Lecture de fichier
    Par Watcha dans le forum x86 16-bits
    Réponses: 13
    Dernier message: 04/03/2003, 21h43
  5. Lecture de fichiers ".WAV"...
    Par 0x4e84 dans le forum Langage
    Réponses: 2
    Dernier message: 03/09/2002, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo