associer un texte à une image dans une galerie photo

associer un texte à une image dans une galerie photo - PHP - Programmation

Marsh Posté le 10-04-2006 à 13:01:27    

bonjour,
 
je bricole une petite galerie photo en php toute simple:

Code :
  1. html>
  2. <head>
  3. <title>formulaire</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. </head>
  6. <body>
  7. <form action="upload.php" enctype="multipart/form-data" method="post">
  8. <input type="file" name="fichier">
  9. <textarea> </textarea>
  10. <input type="submit" value="envoyer">
  11. </form>
  12. </body>
  13. </html>


ici je stocke mes fichiers photos--->

Code :
  1. <html>
  2. <head>
  3. <title>upload</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. </head>
  6. <body>
  7. <?
  8. //renseignement fichiers
  9. $nom= $HTTP_POST_FILES["fichier"] ["name"];
  10. $type=$HTTP_POST_FILES["fichier"] ["type"];
  11. $tailles=$HTTP_POST_FILES["fichier"] ["size"];
  12. $nomtmp=$HTTP_POST_FILES["fichier"] ["tmp_name"];
  13. echo "$nom <br>$type<br>$taille<br>$nomtmp<br>";
  14. $copy=copy($fichier,$nom);
  15. echo "$copy";
  16. ?>
  17. </body>
  18. </html>


 
jusque là, çà peut aller, mais après je ne vois pas comment afficher les commentaires que j'ajoute sous chaque image...dans mon fichier destiner à afficher la galerie:

Code :
  1. <?php
  2. // Début de la configuration  
  3. $repimages    =    "upload/";
  4. $repimagesopen    =    opendir($repimages);
  5. //## Fin de la configuration  
  6. // Debut du tableau  
  7. echo ( '<table>' ) ;
  8. echo ( '<tr>' ) ;
  9.     while ($repimagesfile = readdir($repimagesopen))
  10.    
  11.         {
  12.         $nb_cols=1;
  13.         echo ( '<td valign="center" align="center"> <img src="' . $repimages.$repimagesfile . '" border="1"></a></td>' ) ;
  14.         $i= ($i + 1) % $nb_cols;
  15.        
  16.             if ($i==0)
  17.             {
  18.             echo ( '</tr><tr>' ) ;
  19.             }
  20.        
  21.          }
  22. echo ( '</tr>' ) ;
  23. echo ( '</table>' ) ;
  24. //## Fin du tableau  
  25. closedir($repimagesopen);
  26. ?>


comment associer les textarea qui conviennent sous chaque image? ...
soyez indulgent sur mes bricolages en php, merci... et j'attends vos conseils avisé pour reussir à faire cette petite galerie toute simple..
 
cordialement.


---------------
blog Bretagne
Reply

Marsh Posté le 10-04-2006 à 13:01:27   

Reply

Marsh Posté le 10-04-2006 à 13:44:24    

il faut que tu "stockes" le commentaire quelque part. Le plus simple serait d'utiliser une base de donnée (normalement mysql est disponible sur la plupart des hebergements fournissant du php).
Donc au moment de l'upload de la photo tu créés un enregistrement contenant le commentaire dans un table.
 
La doc de mysql: http://www.mysql.com/doc/fr/index.html
La doc sur les fonctions mysql de php: http://www.php.net/manual/fr/ref.mysql.php

Reply

Marsh Posté le 10-04-2006 à 14:24:09    

le mysql c'est la prochaine étape, je veux d'abord faire une galerie trés simple  avec le système de fichier et des fichiers textes ... et donc stocker çà dans un fichier texte, mais je sais pas trop comment m'y prendre dans mon petit script..

Reply

Marsh Posté le 10-04-2006 à 16:52:09    

Tu as besoin de deux fonctions:

  • file_get_contents()
  • file_put_contents()


Tu peut utilise une double extension de fichier, par exemple:
VacancesALaMontagne.jpg
-> VacancesALaMontagne.jpg.txt
 
Pour récupérer le texte d'une variables POST: stripslahes()
 
Pour afficher le texte: htmlentities()

Reply

Marsh Posté le 10-04-2006 à 17:34:30    

que faire pour limiter l'upload à des fichiers gif et png? ....

Reply

Marsh Posté le 10-04-2006 à 17:43:04    

ho, oui, ce gros problème là: l'utilisateur upload un truc; mais tu sait pas quoi avant de l'avoir reçu.
si c'est pour tester juste l'extension de fichier tu peut utiliser un bout de javascript:
<input type=submit ... onclick ...>

Code :
  1. if(document.monformulaire.monfichier.value.match('\\.([Gg][Ii][Ff])|([Pp][Nn][Gg])$')!=null)
  2.   document.monformulaire.submit();
  3. else
  4.   window.alert('Seul les fichiers GIF et PNG sont acceptés.');
  5. return false;

Reply

Marsh Posté le 10-04-2006 à 17:50:48    

et si le mec désactive le js  :o???
donc déjà ce genre de chose il vaut mieux le mettre dans le onsubmit.
 
Le plus simple reste de tester l'extension du fichier en php via ta variable $nom.

Reply

Marsh Posté le 10-04-2006 à 18:18:24    

> Le plus simple reste de tester l'extension du fichier en php via ta variable $nom.
 
Ça c'est en plus, bien entendu.
 
Le javascript c'est pour éviter que l'utilisateur lambda upload un gros fichier vidéo pendant 3 heures et qu'il faille au final le supprimer en PHP.

Reply

Marsh Posté le 10-04-2006 à 18:39:21    

nargy a écrit :

Tu as besoin de deux fonctions:

  • file_get_contents()
  • file_put_contents()


Tu peut utilise une double extension de fichier, par exemple:
VacancesALaMontagne.jpg
-> VacancesALaMontagne.jpg.txt
 
Pour récupérer le texte d'une variables POST: stripslahes()
 
Pour afficher le texte: htmlentities()


comment intégrer çà à mon tableau ou je présente les photos?


---------------
blog Bretagne
Reply

Marsh Posté le 10-04-2006 à 18:44:15    

regarde l'aide des fonctions que je t'ai indiqué sur http://php.net/
il y a plein d'exemples.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed