OVH Cloud OVH Cloud

imagesx()

3 réponses
Avatar
Axelar
Bonjour :)

Histoire d'apprendre le php je me suis fixé des petits challenges. Le
premier réaliser une gallerie d'image à partir du contenu d'un répertoire.

Je suis parvenu à afficher le contenu de celui sous forme d'un tableau mais
désormais je voudrais pouvoir extraire les dimensions de chaque image. Pour
ce faire je comptais utiliser la fonction imagesx(ressource image).

Donc j'ai insérer dans ma boucle while( $file = readdir(/pics) ) ceci :
echo (imagesx($file));

Mais j'obtiens invariablement le message d'erreur suivant :
Warning: imagesx(): supplied argument is not a valid Image resource in
/var/www/html/axelarnet/gallerie.php on line XX




Pourtant un echo $file me sort bien le nom du fichier image en question et
les images s'affichent bien donc le problème ne vient pas de $file il me
semble.

Y'a-t-il une différence en php entre le nom du fichier image et l'image elle
même ? si telle est le cas comment associer le nom à l'image ?

Merci.

3 réponses

Avatar
Ludovic Levesque
Bonsoir,

Les fonctions imagesx et imagesy prennent en argument une "resource"
image et non pas le nom d'un fichier:

sur http://fr2.php.net/manual/fr/function.imagesy.php

$img = @imagecreatefromjpeg("http://www.mysite.com/my_image.jpg");

if ($img) {
$img_height = imagesy($img);
ImageDestroy($img);
}

echo "My height is " . $img_height;


Axelar wrote:

Bonjour :)

Histoire d'apprendre le php je me suis fixé des petits challenges. Le
premier réaliser une gallerie d'image à partir du contenu d'un répertoire.

Je suis parvenu à afficher le contenu de celui sous forme d'un tableau mais
désormais je voudrais pouvoir extraire les dimensions de chaque image. Pour
ce faire je comptais utiliser la fonction imagesx(ressource image).

Donc j'ai insérer dans ma boucle while( $file = readdir(/pics) ) ceci :
echo (imagesx($file));

Mais j'obtiens invariablement le message d'erreur suivant :
Warning: imagesx(): supplied argument is not a valid Image resource in
/var/www/html/axelarnet/gallerie.php on line XX




Pourtant un echo $file me sort bien le nom du fichier image en question et
les images s'affichent bien donc le problème ne vient pas de $file il me
semble.

Y'a-t-il une différence en php entre le nom du fichier image et l'image elle
même ? si telle est le cas comment associer le nom à l'image ?

Merci.


Avatar
Axelar
Bon alors j'ai vu qu'il y avait imagecreatefromjpeg et imagecreatefromgif ce
qui est un peu contraignant, faut tester si c'est un gif ou un jpeg puis
agir en conséquence alors que si je ne me trompe pas getimagesize est plus
rapide et plus simple.

J'ai donc testé avec getimagesize mais j'obtient toujours :

Warning: getimagesize: Unable to open '/pics/america.gif' for reading in
...

Pourtant le fichier à des droits qui le rendent lisible pour tout le monde.

Une suggestion ?
Avatar
Ampac
In news:3f2da175$0$14312$,
Axelar raconte :

Warning: getimagesize: Unable to open '/pics/america.gif' for
reading in ...


Chemin relatif a la place de chemin absolu ici errone.

--
Ampac