Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/10/2007, 18h27   #1
Invité de passage
 
Inscription : octobre 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 14
Points : 3
Points : 3
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 :
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
cambonjp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2007, 20h43   #2
Membre éclairé
 
Avatar de Huntress
 
Inscription : août 2004
Messages : 454
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 454
Points : 339
Points : 339
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>
__________________

Règle n°1 du forum francophone : Parler le français...
Pas de question technique par MP, le forum est fait pour çà, merci.
Huntress est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2007, 21h43   #3
Invité de passage
 
Inscription : octobre 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 14
Points : 3
Points : 3
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 :
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>
cambonjp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2007, 22h21   #4
Membre éclairé
 
Avatar de Huntress
 
Inscription : août 2004
Messages : 454
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 454
Points : 339
Points : 339
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 ?
__________________

Règle n°1 du forum francophone : Parler le français...
Pas de question technique par MP, le forum est fait pour çà, merci.
Huntress est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2007, 22h46   #5
Invité de passage
 
Inscription : octobre 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 14
Points : 3
Points : 3
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 :
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
cambonjp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2007, 22h58   #6
Membre éclairé
 
Avatar de Huntress
 
Inscription : août 2004
Messages : 454
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 454
Points : 339
Points : 339
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 :
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.
__________________

Règle n°1 du forum francophone : Parler le français...
Pas de question technique par MP, le forum est fait pour çà, merci.
Huntress est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 10h32   #7
Invité de passage
 
Inscription : octobre 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 14
Points : 3
Points : 3
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 :
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 ????
cambonjp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 12h43   #8
Invité de passage
 
Inscription : octobre 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 14
Points : 3
Points : 3
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
cambonjp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h35.


 
 
 
 
Partenaires

Hébergement Web