Page 1 sur 1

PHP : Variable vide

Posté : 07 janv. 2009, 12:34
par Invité
Bonjour,

Je cherche a afficher une image associée à un cours d'eau. Elle se nomme comme l'identifiant du cours d'eau.
Je définie ma variable comme telle : $img=$chdir.$id.'.jpg';
ainsi ma variable ne peut jamais prendre la valeur nulle.
Seulement il arrive parfois que je ne dispose pas de l'image associée à mon cours d'eau et j'ai donc un message d'erreur qui me dit qu'il ne trouve pas l'image.
J'ai essayé ca :

Code : Tout sélectionner

if (empty($img)){ $PDF->Image('Y:/SIG/blank.jpg', 10,$y,50,40,'JPEG') ; } else { $PDF->Image("$img", 10,$y,50,40,'JPEG');
Mais ça fonctionne pas. J'aimerais avoir une image prédéfinie 'blank.jpeg' quand je ne dispose pas de l'image associé a mon cours d'eau.

Merci beaucoup pour votre aide !

S.

Posté : 07 janv. 2009, 12:45
par guilt92
Bonjour,

En effet cela ne peut pas marcher avec un empty() car la variable $img ne sera jamais vide comme tu l'as précisé, donc tu ne rentrera jamais dans cette boucle.

En revanche, la fonction file_exists() devrait te permettre de savoir si le fichier existe ou pas avant de l'utiliser :)

Posté : 07 janv. 2009, 12:45
par Calimero
Bonjour,

La conclusion immédiate que l'on peut faire de ton souci est que $img n'est pas vide quand l'image n'existe pas (puisque tu te sers d'empty() pour tester).
$img=$chdir.$id.'.jpg'; 
$img est la concaténation de $id (qui peut ne pas exister) et de $chdir, qui lui existe toujours je suppose. Ce qui veut dire que si l'image n'existe pas, on a $img qui vaut simplement $chdir.

Je te propose donc le code suivant :


if ($img==$chdir){ // On teste l'égalité entre les deux variables
$PDF->Image('Y:/SIG/blank.jpg', 10,$y,50,40,'JPEG')
;   }
   else {
$PDF->Image("$img", 10,$y,50,40,'JPEG');

Posté : 07 janv. 2009, 13:01
par Invité
:D Merci pour vos réponses rapides !