Fichier externe en php

Fermé
MOOVe - 24 juil. 2003 à 16:17
MOOVe Messages postés 6 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 28 août 2003 - 5 août 2003 à 16:54
Salut,

je vous mets un etat des lieux :
j'ai une table dans une BD MySQL qui continent les colonnes ID, Title, Ficname, StampTime
la colonne ficname contient le nom de fichiers texte
je cherche en PHP à lire tous les enregs de la table, et à afficher le resultat dans un tableau (ca je sais faire) mais pour la colonne ficname, je voudrais obtenir le contenu des fichiers texte (ca je sais pas faire)

quelqu'un peut m'aider ???

ps: j'ai fait une recherche mais j'ai rien trouvé sur ce sujet...
A voir également:

9 réponses

Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
24 juil. 2003 à 16:32
C'est du PHP après avoir exécuté ta requête SQL et stocké le résultat.

Pour chaque enregistrement de ta base récupérés, il faut que tu fasses un fopen() puis fread() de ton fichier... : http://fr3.php.net/manual/fr/function.fread.php
0
peux tu etre un peu plus locace sur le sujet ? (mise en oeuvre...)

MOOVe

please don't MOOVe
0
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
24 juil. 2003 à 18:19
Que n'as-tu point compris ?
0
MOOVe Messages postés 6 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 28 août 2003
1 août 2003 à 15:39
Ce que je n'ai pas compris, c'est comment tu utilises la valeur lu dans la table pour acceder au fichier...et pour chaque enreg. J'arrive parfaitement à comprendre le process mais il me manque la technique pour y parvenir...

_________________________________________________________
MOOVe
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
1 août 2003 à 15:49
Dans ta table MySQL, tu stockes les noms de fichier (exemple: donnees.txt).

Une fois que tu as récupéré le nom du fichier dans $nom_fichier (grace à une requête : SELECT Ficname FROM table), tu spécifies le chemin d'accès à ton image (path) :
$fichier = "/repertoire/".$nom_fichier;

Maintenant il ne te reste plus qu'à ouvrir le fichier $fichier : "/repertoire/donnees.txt"
fopen($fichier);

Puis le lire (fread()) et l'afficher (print).
0
MOOVe Messages postés 6 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 28 août 2003
1 août 2003 à 16:23
Merci de ta reponse, je comprends bien ton exemple mais en fait je modifie ce code :

 
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
	
        print "\t<tr>\n";
	
        foreach ($line as $col_value) {
		print "\t\t<td class=$lig $col_value </td>\n"; 
		
	} 
		   
		    print "\t</tr>\n";



Et je ne sais pas comment a partir de la (dans le foreach) je recupere la valeur de chaque enregistrement de la colonne ficname pour lire le fichier externe...

_________________________________________________________
MOOVe
0
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
1 août 2003 à 17:00
Je ne sais pas comment l'adapter simplement avec ton code mais regarde ceci :
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
	
        print "\t<tr>\n";
	
        $fd = fopen($line[Ficname]);
        $contenu = fread($fd);
        fclose($fd);

	print "\t\t<td> $contenu </td>\n"; 

	print "\t</tr>\n";

}

0
MOOVe Messages postés 6 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 28 août 2003
1 août 2003 à 17:07
Merci beaucoup...je crois que je viens d'avoir le declic ;-)
_________________________________________________________
MOOVe
0
MOOVe Messages postés 6 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 28 août 2003
5 août 2003 à 16:54
si ca peux aider quelqu'un voila comment je me suis debrouillé...

	 $result=mysql_query($sql_query);
  	 while ($line = mysql_fetch_array($result, MYSQL_BOTH)) 
	 {
	    print "	<tr>
";
	
	$sujet = $line[0] ;
		$fichier = ".\news\" . $line["ficname"];
	 $fd = fopen("$fichier", "r");
        $contenu = nl2br(fread($fd, filesize ($fichier)));
        fclose($fd);
	$ndate = $line[2];
print "		<td class=$lig $sujet </td>
";
print "		<td class=$lig $contenu </td>
";
print "		<td class=$lig $ndate</td>
"; 	
		   
		    print "	</tr>
";
    }



_________________________________________________________
MOOVe
0