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

  FORUM HardWare.fr
  Programmation
  PHP

  script php affichage photo

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

script php affichage photo

n°2050445
wazany
Posté le 20-01-2011 à 13:58:43  profilanswer
 

Bonjour , je réalise un projet pour ma formation webmestre au cnam et j'ai fait un script php pour afficher les photo d'un répertoire mais le soucis c'est que sous easyphp et directement en ligne le script ne fonctionne pas  

Code :
  1. <?php
  2.  // les extensions valides dans uen variable
  3.  $extensions_valides = array('jpg', 'jpeg', 'gif', 'png');
  4.  // ouverture du répertoire de photo
  5.  $rep='./photo';
  6.  $repertoire=opendir($rep);
  7.  //lecture des fichiers photos
  8.  while($fichier = readdir($repertoire))
  9.  {
  10.   $test_Fichier = $rep.$fichier;
  11.   // verifie si le fichier n'est pas un dossier
  12.   if(!is_dir($test_Fichier))
  13.   {
  14.    // Si le fichier à une extension valide afficher l'image
  15.    $ext = pathinfo($fichier,  PATHINFO_EXTENSION);
  16.    if(in_array($ext, $valide_extensions))
  17.    {
  18.     echo '
  19.      <div style="float:left; width:150px margin-right:10px">
  20.       <img src="'.$test_Fichier.'" style="whidth:150px" />
  21.      </div>';
  22.    }
  23.   }
  24.  }
  25. ?>


 
j'ai bien crée un dossier photo a la racine du fichier .php en y mettant une photo mais rien ne ce passe quand c'est héberger et j'ai une erreur sous easy :
 Notice: Undefined variable: valide_extensions in E:\EasyPHP-5.3.5.0\www\perso\photo\index.php on line 52
 
je sais pas comment faire pour régler ce soucis :/


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
mood
Publicité
Posté le 20-01-2011 à 13:58:43  profilanswer
 

n°2050508
billgatesa​nonym
Posté le 20-01-2011 à 17:17:14  profilanswer
 

Petite confusion entre $extension_valides et $valide_extensions !

n°2050517
wazany
Posté le 20-01-2011 à 17:33:32  profilanswer
 

Merci je ne l'avais pas vue :) ! mais le problème persiste toujours :/


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
n°2050563
esox_ch
Posté le 20-01-2011 à 21:06:33  profilanswer
 

T'as la même erreur à la même ligne ? ça me semble peu probable parce que si t'as corrigé la première ligne, ensuite la variable est correctement définie..


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2050564
wazany
Posté le 20-01-2011 à 21:08:46  profilanswer
 

Oui je n'ai plus d'erreur mais rien ne s'affiche par contre :/


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
n°2050565
esox_ch
Posté le 20-01-2011 à 21:16:04  profilanswer
 

Normal, regarde ce que retourne pathinfo, et ce que tu demandes de faire à in_array :)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2050566
wazany
Posté le 20-01-2011 à 21:24:45  profilanswer
 

a vrai dire je debute avec le php j'ai regarder à drotie a gauche pour essayer de me renseigner j'ai vue que pour le pathinfo avec l'option retourne bien l'extension? pour le in_array je voie pas du tout la :o


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
n°2050568
esox_ch
Posté le 20-01-2011 à 21:31:37  profilanswer
 

pathinfo retourne un array,
in_array regarde dans un array donné s'il trouve ce que tu lui donnes dans l'autre paramètre. Donc là il va regarder s'il trouve dans ton array ... un autre array => Non


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2050572
wazany
Posté le 20-01-2011 à 21:48:00  profilanswer
 

hum faut que je le tourne comment? :/


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
n°2050576
esox_ch
Posté le 20-01-2011 à 22:15:09  profilanswer
 

Bein réfléchi :D In array va chercher si X est dans l'array Y. Il faut donc que X soit dans la même forme que les éléments de Y :bounce:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
mood
Publicité
Posté le 20-01-2011 à 22:15:09  profilanswer
 

n°2050595
wazany
Posté le 20-01-2011 à 23:32:33  profilanswer
 

si j'ai bien compris il faut que j'arrive a mettre $ext et $extension_valide dans le même format?


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
n°2050698
wazany
Posté le 21-01-2011 à 12:35:37  profilanswer
 

u,nn petit up je suis a la ramasse ^^


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
n°2050699
esox_ch
Posté le 21-01-2011 à 12:37:50  profilanswer
 

Non, non, non. Relis la doc, relis mes réponses et réfléchis. Tout est là...


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2050705
wazany
Posté le 21-01-2011 à 12:47:44  profilanswer
 

j'ai re lut en gros in array cherche dans un tableau les valeur et regarde si il lui correspond c'est bien ca ?

 

if(in_array($extensions_valides( les valeur contenu dans un tableau) ,$ext ( la valeur rechercher?))

 

c'est bien ca? :/


Message édité par wazany le 21-01-2011 à 12:47:52

---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
n°2050707
billgatesa​nonym
Posté le 21-01-2011 à 12:53:37  profilanswer
 

esox_ch a écrit :

pathinfo retourne un array

Oui, mais pas dans le cas où une option est utilisée :

Citation :

Valeurs de retour
 
Le tableau associatif contenant les éléments suivants est retourné : dirname, basename, extension (s'il y en a), et filename.
 
Si options est utilisé, cette fonction retournera une chaîne de caractères si tous les éléments ne sont pas demandés.
(source : http://fr2.php.net/manual/fr/function.pathinfo.php)

Donc, ici, puisque l'on a une option, $ext = pathinfo($fichier,  PATHINFO_EXTENSION); il n'y a pas besoin de faire une conversion. Le in_array devrait marcher.
Pour debugguer, affichez le contenu de vos données, et vous verrez ce qui ne va pas. Par exemple, c'est peut-être un problème de majuscules/minuscules.
 

n°2050710
billgatesa​nonym
Posté le 21-01-2011 à 12:56:36  profilanswer
 

Citation :

if(in_array($extensions_valides( les valeur contenu dans un tableau) ,$ext ( la valeur rechercher?))

L'ordre des paramètres est à inverser.
Il faut mettre d'abord la valeur à rechercher, puis, le nom du tableau. Voir http://fr2.php.net/manual/fr/function.in-array.php

if (in_array($ext, $extensions_valides)) {


Message édité par billgatesanonym le 21-01-2011 à 12:58:41
n°2050712
wazany
Posté le 21-01-2011 à 13:00:47  profilanswer
 

hum ben c'est ce que j'avais a la base :/


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
n°2050716
esox_ch
Posté le 21-01-2011 à 13:04:53  profilanswer
 

Ah oui my bad :jap:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2050723
wazany
Posté le 21-01-2011 à 13:13:55  profilanswer
 

ben alors le soucis viens d'autre chose?


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
n°2050726
esox_ch
Posté le 21-01-2011 à 13:22:45  profilanswer
 

Fait voir un print_r($ext) et print_r($extensions_valides)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2050735
wazany
Posté le 21-01-2011 à 13:54:51  profilanswer
 

Il m'affiche bien l'extension du fichier et aussi le tableau


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
n°2050739
wazany
Posté le 21-01-2011 à 14:30:21  profilanswer
 

ca doit peut être venir des variable? pour qu'il n'y ai rien qui s'affiche?


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
n°2050742
esox_ch
Posté le 21-01-2011 à 14:44:09  profilanswer
 

mets nous ici le retour des print_r


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2050743
wazany
Posté le 21-01-2011 à 14:47:08  profilanswer
 

Le code

Code :
  1. <?php
  2.  // les extensions valides dans uen variable
  3.  $extensions_valides = array('JPG', 'jpeg', 'gif', 'png');
  4.  // ouverture du répertoire de photo
  5.  $rep='./photo';
  6.  $repertoire=opendir($rep);
  7.  //lecture des fichiers photos
  8.  while($fichier = readdir($repertoire))
  9.  {
  10.   $test_Fichier = $rep.$fichier;
  11.   // verifie si le fichier n'est pas un dossier
  12.   if(!is_dir($test_Fichier))
  13.   {
  14.    // Si le fichier à une extension valide afficher l'image
  15.    $ext = pathinfo($fichier,  PATHINFO_EXTENSION);
  16.    print_r($ext);
  17.    echo"<br/><br/>";
  18.    print_r($extensions_valides);
  19.    echo"<br/><br/>";
  20.    print_r($test_Fichier);
  21.    echo"<br/><br/>";
  22.    if(in_array($ext, $extensions_valides))
  23.    {
  24.     echo '
  25.      <div style="float:left; width:150px margin-right:10px">
  26.       <img src="'.$test_Fichier.'" style="whidth:150px">test</img>
  27.      </div><br/>';
  28.    }
  29.   }
  30.  }
  31. ?>


 
 
JPG
 
Array ( [0] => JPG [1] => jpeg [2] => gif [3] => png )
 
./photoDSC00105.JPG
 
test


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
n°2050750
wazany
Posté le 21-01-2011 à 15:04:27  profilanswer
 

esox_ch a écrit :

Ok  
Remplace
 

Code :
  1. if(in_array($ext, $extensions_valides))


par  

Code :
  1. if(in_array($ext, array_values($extensions_valides)))


 
Et ensuite explique à billgatesanonym pourquoi il avait tort :D


 
 
Tour rien qui s'affiche au final :o


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
n°2050758
esox_ch
Posté le 21-01-2011 à 15:10:02  profilanswer
 

print_r(array_values($extensions_valides))
 
Te retourne bien :
Array ( JPG, jpeg, gif, png )  
 
Non ?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2050760
smaragdus
whores, drugs & J.S. Bach
Posté le 21-01-2011 à 15:11:05  profilanswer
 

Heu....  
array_values sur un array numerique sans clé ( = une liste), c'est l'identité  :heink:  
 
C'est pas dû à ça mais par contre je vois un gros bug dans ce code : in_array est case sensitive
 
 
 

n°2050793
esox_ch
Posté le 21-01-2011 à 15:20:11  profilanswer
 

Bon faut que j'aille faire une pause, je racconte trop l'importe quoi là :'(

Message cité 1 fois
Message édité par esox_ch le 21-01-2011 à 15:20:21

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2050805
wazany
Posté le 21-01-2011 à 15:28:35  profilanswer
 

donc faut que je fasse gaffe au maj c'est ça?


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
n°2050847
smaragdus
whores, drugs & J.S. Bach
Posté le 21-01-2011 à 16:23:25  profilanswer
 

esox_ch a écrit :

Bon faut que j'aille faire une pause, je racconte trop l'importe quoi là :'(


courage c'est bientôt le week end  :)  

wazany a écrit :

donc faut que je fasse gaffe au maj c'est ça?


 
tout à fait. Imagine un utilisateur qui débarque avec des "photo.Jpg", l'extension est refusée
 
Sinon je vois pas pourquoi ton code plante : j'ai testé à la main un exemple avec tes valeurs (JPG et array('JPG".... ) et ça marche très bien.


Message édité par smaragdus le 21-01-2011 à 16:23:36
n°2050849
wazany
Posté le 21-01-2011 à 16:24:40  profilanswer
 

n'y a t'il pas un moyen de le rendre insensible à la case?
 
 
edit : youhou ça fonctionne j'avais fait une petite erreur avec

Code :
  1. $rep='./photo/';

je n'avais pas mis le "/" a la fin :/


Message édité par wazany le 21-01-2011 à 16:27:41

---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
n°2050853
wazany
Posté le 21-01-2011 à 16:42:15  profilanswer
 

merci de votre coup de main , j'ai un autre soucis maintenant que l'image s'affiche c'est que le style n'est pas pris en compte en fait et je ne voie pas pourquoi oO


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
n°2050856
wazany
Posté le 21-01-2011 à 16:50:01  profilanswer
 

je n'ai rien dit :D


---------------
L'annuaire des serveurs Discord Hardware.fr Aidez nous à le compléter ! | Mes ventes
mood
Publicité
Posté le   profilanswer
 


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

  script php affichage photo

 

Sujets relatifs
[sh] stocker le résultat d'un script shell interactifProgramation en basic pour affichage de vitesse
Script de transfert automatique de fichierskit graphique flash besoin d'aide pour modif galerie photo
Petit problème d'affichage sous Firefoxscript déplacement répertoire
[YNOT] Langage de script JAVA - présentationScript Php pour récupere n° de semaine dans une table
affichage d'un message 
Plus de sujets relatifs à : script php affichage photo


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