Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2963 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Appel de fonction

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Appel de fonction

n°1856276
absot77
Posté le 28-02-2009 à 15:01:55  profilanswer
 

Slt, pour un tp de cours, je dois réaliser un générateur de galerie photos et à un moment, l'utilisateur doit entrer le nom du cheminde d'un répertoire et après il faut appuyer sur un bouton "check" pour vérifier l'existence de ce répertoire, s'il existe bien, les champs se remplissent sinon il y aura un message d'erreur..
 
Je pense qu'il faut utiliser des if mais j'ai un trou sur comment faire pour qu'une fois que l'on appuie sur "check", ça verifie l'existence du répertoire...
 
Vous pouvez m'éclaircir svp?
 
Voici un lien de mon TP: http://guyonst.free.fr/ap/ap-fevrier.pdf

mood
Publicité
Posté le 28-02-2009 à 15:01:55  profilanswer
 

n°1856280
Profil sup​primé
Posté le 28-02-2009 à 15:18:47  answer
 

Quel est ton niveau en PHP ? Ou bloques-tu ? Peux-tu déjà nous montrer un peu de code ?
Difficile de t'aider si on ne sait pas où tu en es.

 

Moi je verrais bien un bouton qui lance une requête via Ajax vers un fichier PHP qui teste l'existence du répertoire ;).

 

EDIT : le code HTML donné en exemple dans le TP ...  [:prozac]
Je te conseille d'utiliser pathinfo pour l'extension ;)


Message édité par Profil supprimé le 28-02-2009 à 15:22:45
n°1856282
absot77
Posté le 28-02-2009 à 15:23:33  profilanswer
 

Je suis en 1ère année d'un BTS informatique, je bloque ( enfin j'ai trou de mémoire ) sur comment faire pour appeler la fonction qui va vérifier l'existence du répertoire..  :/
 
Voilà une partie du code que j'ai fais même si c'est pas énorme...
 

Code :
  1. <html>
  2. <head>
  3. <title>R&eacute;pertoire</title>
  4. <link rel="stylesheet" type="text/css" href="style.css">
  5. </head>
  6. <body>
  7. <form action="traitement.php" method="POST">
  8. <TABLE BORDER="2">
  9. <br/>
  10. <br/>
  11.  
  12.         <TR>
  13.     <TH colspan=100%> R&eacute;pertoire </TH>
  14.     </TR>
  15.         <TR>
  16.     <TH>Nom du r&eacute;pertoire: </TH>
  17.     <TD>
  18.     <INPUT type=text name="repertoire" class="marge">
  19.     </TD>
  20.     <TD><input type="button" name="lien1" value="Check" onclick="self.location.href='nouvelleFacture.php'" class="position"></TD>
  21.     </TR>
  22.         <TR>
  23.  <TH colspan=100%>Param&egrave;tres</TH>
  24.  </TR>
  25.  <TR>
  26.     <TH> Nom du fichier: </TH>
  27.     <TD> <INPUT type=text name="fichier" class="marge"> </TD>
  28.     </TR>
  29.  
  30.  
  31.     <TR>
  32.     <TH> Emplacement du fichier: </TH>
  33.     <TD> <INPUT type=text name="emplacement" class="marge"> </TD>
  34.     </TR>
  35.  
  36.  
  37.     <TR>
  38.     <TH> Nombre d'images par ligne: </TH>
  39.  <TD> <INPUT type=text name="image" class="marge"> </TD>
  40.     </TR>
  41.  <TR>
  42.     <TH> Largeur de l'image: </TH>
  43.  <TD> <INPUT type=text name="largeur" class="marge"> </TD>
  44.     </TR>
  45.    
  46.     <TR>
  47.     <TH> Hauteur de l'image: </TH>
  48.  <TD> <INPUT type=text name="hauteur" class="marge"> </TD>
  49.     </TR>
  50. </table>
  51. <table>
  52.     <TR>
  53.     <TD COLSPAN=2>
  54.     <INPUT type="submit" value="G&eacute;n&eacute;rer">
  55.     </TD>
  56.         </TR>
  57. </table>
  58. </FORM>
  59. </body>
  60. </html>


 

Code :
  1. $repertoire=$_POST['repertoire'];
  2. $fichier=$_POST['fichier'];
  3. $emplacement=$_POST['emplacement'];
  4. $image=$_POST['image'];
  5. $largeur=$_POST['largeur'];
  6. $hauteur=$_POST['hauteur'];
  7. if( ){
  8. } else
  9. {
  10. }

n°1856286
Profil sup​primé
Posté le 28-02-2009 à 15:31:25  answer
 

bon déjà pour commencer : toutes les valeurs des attributs des tags html doivent être entourées de guillemets !
Ensuite, pour la fonction qui permet de tester l'existence d'un fichier, tu la trouves en 2 sec en cherchant un peu... Google, la doc, toussa...
Et en plus la fonction apparait dans le TP...

n°1856288
absot77
Posté le 28-02-2009 à 15:45:40  profilanswer
 

Je préfère mettre des balises php quand j'en ai besoin au lieu de mettre des guillemets.
 
Il faut faire appel à  la fonction is_dir pour vérifier si le fihier existe mais le truc que j'ai oublié justemen, c'est comment l'appeler quand on appuie sur le bouton "check", j'ai pensé à aller sur une autre page qui récupèrera les valeurs de la précédente et véirifie..

n°1856302
absot77
Posté le 28-02-2009 à 16:53:18  profilanswer
 

j'ai un peu avancé dans mon TP et maintenant je fais la vérification du répertoire pour savoir s'il existe sauf que j'ai un parse error et je ne sais pas où il est.. :/
 
Je mets le code utilisé:
 

Code :
  1. <html>
  2. <head>
  3. <title>R&eacute;pertoire</title>
  4. <link rel="stylesheet" type="text/css" href="style.css">
  5. </head>
  6. <body>
  7. <?php
  8. $repertoire=$_POST['repertoire'];
  9. $fichier=$_POST['fichier'];
  10. $emplacement=$_POST['emplacement'];
  11. $image=$_POST['image'];
  12. $largeur=$_POST['largeur'];
  13. $hauteur=$_POST['hauteur'];
  14. function getExtension($nomFic){
  15. $trunc = split('[.]', $nomFic);
  16. if(sizeof($trunc)>1){
  17.  return $trunc[sizeof($trunc)-1];
  18. }else {
  19.  return strtolower(substr($nomFic,-3));
  20. }
  21. }
  22. function afficheFichierImage($nomImage){
  23. $image = "<img src='".$nomImage."'>";
  24. echo $image;}
  25. function afficheContenuDossier($nomRep){
  26. $curseur = opendir($nomRep);
  27. if (is_dir($repertoire) != TRUE) {
  28. echo "Pas un répertoire";
  29. }
  30. else{
  31. ?>
  32. <TABLE BORDER="2">
  33.         <TR>
  34.     <TH colspan=100%> R&eacute;pertoire </TH>
  35.     </TR>
  36.         <TR>
  37.     <TH>Nom du r&eacute;pertoire: </TH>
  38.     <TD>
  39.     <INPUT type=text name="repertoire" class="marge">
  40.     </TD>
  41.     <TD><input type="button" name="lien1" value="Check" onclick="self.location.href='traitement.php'" class="position"></TD>
  42.     </TR>
  43.         <TR>
  44.  <TH colspan=100%>Param&egrave;tres</TH>
  45.  </TR>
  46.  <TR>
  47.     <TH> Nom du fichier: </TH>
  48.     <TD> <INPUT type=text name="fichier" class="marge"> </TD>
  49.     </TR>
  50.  
  51.  
  52.     <TR>
  53.     <TH> Emplacement du fichier: </TH>
  54.     <TD> <INPUT type=text name="emplacement" class="marge"> </TD>
  55.     </TR>
  56.  
  57.  
  58.     <TR>
  59.     <TH> Nombre d'images par ligne: </TH>
  60.  <TD> <INPUT type=text name="image" class="marge"> </TD>
  61.     </TR>
  62.  <TR>
  63.     <TH> Largeur de l'image: </TH>
  64.  <TD> <INPUT type=text name="largeur" class="marge"> </TD>
  65.     </TR>
  66.    
  67.     <TR>
  68.     <TH> Hauteur de l'image: </TH>
  69.  <TD> <INPUT type=text name="hauteur" class="marge"> </TD>
  70.     </TR>
  71. </table>
  72. <table>
  73.     <TR>
  74.     <TD COLSPAN=2>
  75.     <INPUT type="submit" value="G&eacute;n&eacute;rer">
  76.     </TD>
  77.         </TR>
  78. </table>
  79. <?php
  80.  }
  81. ?>
  82. </body>
  83. </html>


 
Mes balises php se ferment bien pourtant et j'ai copié/coller mon tableau de la page précédent.. :??:

n°1856307
Profil sup​primé
Posté le 28-02-2009 à 17:23:15  answer
 

absot77 a écrit :

Je préfère mettre des balises php quand j'en ai besoin au lieu de mettre des guillemets.
 
Il faut faire appel à  la fonction is_dir pour vérifier si le fihier existe mais le truc que j'ai oublié justemen, c'est comment l'appeler quand on appuie sur le bouton "check", j'ai pensé à aller sur une autre page qui récupèrera les valeurs de la précédente et véirifie..


je parle de mettre des guillemets dans les attributs, rien à voir avec PHP :jap:

Code :
  1. <tag attribut="valeur"></tag>


au lieu de

Code :
  1. <tag attribut=valeur></tag>


 

absot77 a écrit :

j'ai un peu avancé dans mon TP et maintenant je fais la vérification du répertoire pour savoir s'il existe sauf que j'ai un parse error et je ne sais pas où il est.. :/
 
Je mets le code utilisé:
 

Code :
  1. ...


 
Mes balises php se ferment bien pourtant et j'ai copié/coller mon tableau de la page précédent.. :??:


surement à la ligne donnée dans le message d'erreur. D'ailleurs peux tu le poster ici ? ce sera plus facile de t'aider.

n°1856308
Profil sup​primé
Posté le 28-02-2009 à 17:23:49  answer
 

Et pour le bouton check, renseigne toi sur Ajax ;)

n°1856315
absot77
Posté le 28-02-2009 à 17:37:01  profilanswer
 

Voici mon message d'erreur: Parse error: parse error in C:\Program Files\EasyPHP 3.0\www\APIG\AP_Fevrier\traitement.php on line 102
 
Et la ligne 102 est la dernière donc je pense qu'il doit manquer une parenthèse, une virgule ou un truc du genre..

n°1856331
Profil sup​primé
Posté le 28-02-2009 à 17:59:40  answer
 

c'est le message en entier ?

mood
Publicité
Posté le 28-02-2009 à 17:59:40  profilanswer
 

n°1856332
absot77
Posté le 28-02-2009 à 18:00:13  profilanswer
 


 
Oui :/

n°1856333
Profil sup​primé
Posté le 28-02-2009 à 18:00:59  answer
 

En fait c'est normal tu ne fermes jamais le crochet de la fonction afficheContenuDossier

n°1856334
absot77
Posté le 28-02-2009 à 18:02:43  profilanswer
 

La voilà mon erreur stupide...  :o
 
Me doutais bien que c'était un truc à la c*n..  :d
 
Maintenant faut que je fasse appel à mon imagination..  :/
 
Je reviendrais si j'ai besoin d'aide et merci :)

n°1856337
Profil sup​primé
Posté le 28-02-2009 à 18:07:17  answer
 

ah aussi ta fonction pour obtenir la fonction est lourde... comme je te l'ai déjà dit utilise pathinfo

n°1856355
absot77
Posté le 28-02-2009 à 19:50:20  profilanswer
 

Petite question, je comprends pas ce qu'il doit y avoir dans "nom du fichier", parce que dans le répertoire, logiquement il y a des images et plusieurs.. :??:
 

n°1856373
absot77
Posté le 28-02-2009 à 22:24:55  profilanswer
 

Jai un problème avec un if, normalement quand l'utilisateur remplie un champ pour indiquer le chemin d'un répertoire qui existe, alors ça devrait afficher un tableau quelques renseignements mais j'ai remplacer l'intruction par un "VRAI" sinon il doit afficher "Pas un répertoire" mais dans chaque cas, il affiche "Pas un répertoire", où est le problème?  
 
Je poste mon code:  
 

Code :
  1. if (is_dir($repertoire) != TRUE) {
  2. echo "Pas un répertoire";
  3. }
  4. else
  5. { echo "Vrai";}


 
-------------------------------------------------------------------  
 
Sachant que $repertoire est la récupération d'un chemin d'une autre page qui est file://localhost/C:/Program%20Files/EasyPHP%203.0/www/APIG/AP_Fevrier/images


Message édité par absot77 le 28-02-2009 à 22:28:01
n°1856417
Profil sup​primé
Posté le 01-03-2009 à 09:22:41  answer
 

affiche $repertoire pour voir.

n°1856455
absot77
Posté le 01-03-2009 à 13:23:56  profilanswer
 

J'ai réussi à tout corriger.
 
Je me pose une question, la réponse doit être simple mais bon..
 
L'utilisateur choisi dans un formulaire le nombre d'images par ligne qu'il veut et dans le code, il y a deux conditions mais je ne sais pas comment formuler parce que je veux dire que tant qu'il y a des images et que tant que $i est inférieur aux nombres d'images par ligne que l'utilisateur à choisi, alors il continue..

n°1857370
rufo
Pas me confondre avec Lycos!
Posté le 04-03-2009 à 09:56:58  profilanswer
 

un lien en file://, c'est louche. Pour les chemins, utilise plutôt $_SERVER["DOCUMENT_ROOT"] si tu veux un chemin en http:// (utile pour des liens absolus) ou dirname(__FILE__) pour les chemins absolu pour des fonctions comme file_exists().


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Appel de fonction

 

Sujets relatifs
Appel d'une fonction mysql dans du code javascript[résolu]Appel de fonction
Fonction définie dans la page et appel dans une iframeAppel périodique d'une fonction??
Appel d'une fonctionFonction avec parametre en char * et appel avec string
Appel dynamique de fonction[PHP][resolu] appel de fonction avec nom généré dynamiquement
[JS] Appel fonction d'une autre pageperte d'adresses à l'appel d'une fonction
Plus de sujets relatifs à : Appel de fonction


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR