script concenant le format des images.

Eléphanteau du PHP | 45 Messages

14 oct. 2005, 22:12

Mes images provenant d'une base mySQL s'affichent toutes sur un même format. Je voudrais qu elles s affichent soient en format portrait ou paysage.

le script ce dessous devrait permettre cela mais il fonctionne mal.

Il affiche le message d'erreur suivant.

Merci d avance de m aider à compléter ce script.

Code : Tout sélectionner

Warning: getimagesize(photo2.jpg): failed to open stream: No such file or directory in c:\program files\easyphp1-7\www\artnetvideo2\public\recherche-artiste-affichage.php on
La ligne où il y a l'erreur c est celle ci
$tableauTaille = getimagesize($row_rstableau['photo']);
<?php 
$tableauTaille = getimagesize($row_rstableau['photo']);

   $longueur = $tableauTaille[0]="150px";
   $largeur  = $tableauTaille[1]="100px";
          ?> 

   <img src="../images/<?php echo $row_rstableau['photo']; ?> 

  width="<?php 
if($largeur > $longueur){ 
echo"150px";
} 
else{
echo"100px";
} ?> " 
  
   
  height="<?php
if($largeur>$longueur){
echo"100px";
}
else{
echo"150px";
} ?>" />


Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

14 oct. 2005, 22:15

Salut, d'apres le message d'erreur, le fichier n'existe pas ou certainement erreur de chemin d'accès.
a tout hasard,remplace:
$tableauTaille = getimagesize($row_rstableau['photo']);
par
$tableauTaille = getimagesize("../images/".$row_rstableau['photo']);
avec le meme chemin que pour l'affichage de l'image.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 45 Messages

16 oct. 2005, 08:59

Merci Truc pour ton intervention

J ai essayé..

Je pense qu il ne manque pas grand chose pour que cela fonctionne.


 $tableauTaille = getimagesize("../images/".$row_rstableau['photo']); 
Mais j ai le message d'erreur suivant

Code : Tout sélectionner

Warning: getimagesize(../images/): failed to open stream: Permission denied in c:\program files\easyphp1-7\www\artnetvideo2\public\recherche-artiste-affichage.php on line 186

Mammouth du PHP | 19672 Messages

16 oct. 2005, 09:07

D'Apr`es ton code, le répertoire images se trouve à la même hauteur dans l'arborescence que le répertoire public : si c'est pas ça, alors il est noral que tu aies ce message d'erreur. Fais nous un schéma sommaire de la struture des répertoires. Tiens compte quand tu crées un chemin relatif de l'endroit où est la page affichée: Si ta page est à la racine par exemple dans le répertoire artnetvideo2 et que ton répertoire images est à la même hauteur, le chemin sera alors "./images/etc..", mais si le répertoire images est à l'intérieur du répertoire "public", alors le chemin sera "./public/images/etc..." : mais c'est toujours par rapport à la page affichée et jamais par rapport au fichier inclus qui pourrait se trouver ailleurs lui-même.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 45 Messages

16 oct. 2005, 22:22

Les images sont bien dans un répertoire nommé image qui est au même niveau que le répertoire ou se trouve le script de recherche.

images
photo1.jpg
proto2.jpg
..........

Public
fichier.php (fichier où se trouve le programme)

Je pense que le chemin indique ../images dans le répertoire public est exact. Le script fonctionne sans erreur quand je ne cherche pas à ajouter de code concernant le dimentionnement des images. C est cela qui m intrigue.


Voilà j espère avoir répondu à ta question.

ViPHP
pjl
ViPHP | 2119 Messages

16 oct. 2005, 22:41

A priori, c'est un problème de droit. Vérifie donc le CHMOD de ton répertoire.

Mammouth du PHP | 19672 Messages

16 oct. 2005, 22:55

Bon, on va partir d'un croquis :

Code : Tout sélectionner

racine |_____images | |__image1.jpg | |__image2.jpg | |__etc... | |_____public | |__fichier1.php | |__fichierx.php |__index.php
Si tu exécute une page dont l'adresse (dans ta barre de navigation) est tonsite.com/public/fichier1.php, le chemin vers les images sera "../images/image1.jpg

Si par contre l'adresse de ta page est tonsite.com/fichierx.php, alors le chemin vers les images sera "./images/image1.jpg

Le relatif est par rapport à la page courrante: "." indique le répertoire courant, ".." le répertoire parent.

Vérifie donc soigneusement ton arborescence par rapport à la page ou tu es quand la commande est exécutée.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 45 Messages

17 oct. 2005, 12:32

je comprends très bien ce qui concerne les paths pour accèder aux fichiers des répertoires et sous répertoire.

Je suis dans le cas ou l'image ("image1.jpg"( recherché est sous le répertoire fichier images.

Le fichier ou se trouve le script est sous le répertoire public.

j ai bien sur essayé ../images et ./ et plus bien sur

Je pense qu il manque peu de chose peut être qu il manque quelque chose après images.

quand il y a ../images le message d erreur est :
dans le code
$tableauTaille = getimagesize("../images".$row_rstableau['photo']);

Code : Tout sélectionner

Warning: getimagesize(images): failed to open stream: No such file or directory in c:\program files\easyphp1-7\www\artnetvideo2\public\recherche-artiste-affichage.php on line 186
quand il y a ./images l e message d erreur est :

Code : Tout sélectionner

Warning: getimagesize(./images): failed to open stream: No such file or directory in c:\program files\easyphp1-7\www\artnetvideo2\public\recherche-artiste-affichage.php on line 186
quand images seul

Code : Tout sélectionner

Warning: getimagesize(images): failed to open stream: No such file or directory in c:\program files\easyphp1-7\www\artnetvideo2\public\recherche-artiste-affichage.php on line 186
Quand
$tableauTaille = getimagesize("../images/'photo'".$row_rstableau['photo']);

Code : Tout sélectionner

Warning: getimagesize(../images/'photo'): failed to open stream: No such file or directory in c:\program files\easyphp1-7\www\artnetvideo2\public\recherche-artiste-affichage.php on line 186

Eléphanteau du PHP | 45 Messages

18 oct. 2005, 13:14

Ce script fonctionne sans erreur mais il n affiche pas les images
Je pense qu il ne s'agit pas d'un problème de chemin. J ai placé ce script dans le même sous répertoire que les images recherchées.

Je pense qu il y a juste à améliorer ce script.

<?php 
$tableauTaille = getimagesize($row_rstableau['photo']); 

   $longueur = $tableauTaille[0]="150px"; 
   $largeur  = $tableauTaille[1]="100px"; 
          ?> 

   <img src="<?php echo $row_rstableau['photo']; ?> 

  width="<?php 
if($largeur > $longueur){ 
echo"150px"; 
} 
else{ 
echo"100px"; 
} ?> " 
   
    
  height="<?php 
if($largeur>$longueur){ 
echo"100px"; 
} 
else{ 
echo"150px"; 
} ?>" /> 

Eléphanteau du PHP | 45 Messages

19 oct. 2005, 21:53

il manquait effectivement peu de chose un guillement à la fin de cette ligne.

Code : Tout sélectionner

<img src="<?php echo $row_rstableau['photo']; ?> "
[/code]

Mammouth du PHP | 19672 Messages

19 oct. 2005, 22:39

Tu aurait surtout pu simplifier pas mal:
<?php
$tableauTaille = getimagesize($row_rstableau['photo']);

$longueur = $tableauTaille[0];
$largeur  = $tableauTaille[1];
$l = $largeur > $longueur ? "150px" : "100px";
$h = $largeur > $longueur ? "100px" : "150px";
?>
   <img src="<?php echo $row_rstableau['photo']; ?>" width="<?php echo($l); ?>" height="<?php echo(?h); ?>" />
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: