Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/11/2007, 09h11   #1
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 120
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 120
Points : 45 283
Points : 45 283
Par défaut affichage d'image et file_exists()

Il s'agit d'un base article pour un catalogue.
la ligne article dans la base contient le nom du fichier image.
Je souhaiterais tester si le fichier existe et afficher éventuellement une image par défaut...

le champs peut être null ou ne contenir que des espaces ou un string ...

Code :
echo '<img src="../SitePics/Produits/Tn/'.((is_null($row['picVignette']) || !file_exists('../SitePics/Produits/Tn/'.$row['picVignette']))?'NoPic.png':$row['picVignette']).'" title="clickez pour agrandir" alt="'.$row['desiArticle'].'" style="height:160px; width:160px;clear:right; border:solid 1px navy;" />;
mais il ne me mets rien suite au test je n'ai que
Code :
src="../SitePics/Produits/Tn/	"


merci de votre aide...

PS: j'aurasi voulu conserver le teste sur une seule ligne et ne pas faire un if else

Le problème survient sur le is_null() ....
Si le champs est null il plante ... je n'ai que le alt de l'image ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2007, 09h36   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 120
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 120
Points : 45 283
Points : 45 283
Ceci focntionne :
Code :
1
2
 
<img src="../SitePics/Produits/Tn/'.((($row['picVignette']==NULL) or !file_exists('../SitePics/Produits/Tn/'.$row['picVignette']))?'NoPic.png':$row['picVignette']).'" title="clickez pour agrandir" alt="'.$row['desiArticle'].'" style="height:160px; width:160px;clear:right; border:solid 1px navy;" />
mais pourquoi is_null() ne retourne pas la même chose que ==NULL ???
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2007, 09h50   #3
Membre confirmé
 
Avatar de onirisme
 
Inscription : novembre 2004
Messages : 210
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : novembre 2004
Messages : 210
Points : 232
Points : 232
Bonjour,

Chez moi le code que tu as fourni en 1er post fonctionne.

Adapté pour test

Code PHP :
1
2
3
4
5
 
$row['picVignette']= "help.png";
$row['desiArticle']="test.php";
 
echo '<img src="'.((is_null($row['picVignette']) || !file_exists(''.$row['picVignette']))?'exit.png':$row['picVignette']).'" title="clickez pour agrandir" alt="'.$row['desiArticle'].'" style="height:160px; width:160px;clear:right; border:solid 1px navy;" />';

Si je change la valeur de $row['picVignette']= "help.png"; l'affichage se fait correctement...

si je met help2.png j'ai bien mon image exit.png qui se charge
__________________
Mes parents m'ont offert le nouvel iPhone 3G pour mon anniversaire. Lorsqu'ils me l'ont donné, mon père m'a dit, un peu embarassé : "Le vendeur a dit que ça lisait les vidéos, mais j'ai un doute car je me demande bien où on peut mettre le DVD"
onirisme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2007, 10h22   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 120
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 120
Points : 45 283
Points : 45 283
En fait c'est quand le champs est null...
il n'a pas l'air de reconnaitre le is_null ...
alors je passe par == NULL

L'effet escompté est obtenu ...
mais je reste perplexe
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2007, 10h56   #5
Membre confirmé
 
Avatar de onirisme
 
Inscription : novembre 2004
Messages : 210
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : novembre 2004
Messages : 210
Points : 232
Points : 232
Pas mieux...

A priori, is_null pose des problèmes dans certains cas.

Fonctionne avec empty

Code PHP :
1
2
3
4
5
6
 
#$row['picVignette']= "help.png";
$row['picVignette']= "";
$row['desiArticle']="test.php";
 
echo ''.(empty($row['picVignette']) || !file_exists('../../images/'.$row['picVignette'])?'<img src="../../images/exit.png':'<img src="../../images/'.$row['picVignette']).'" title="clickez pour agrandir" alt="'.$row['desiArticle'].'" style="height:160px; width:160px;clear:right; border:solid 1px navy;" />';


http://fr3.php.net/manual/fr/function.is-null.php#74025
__________________
Mes parents m'ont offert le nouvel iPhone 3G pour mon anniversaire. Lorsqu'ils me l'ont donné, mon père m'a dit, un peu embarassé : "Le vendeur a dit que ça lisait les vidéos, mais j'ai un doute car je me demande bien où on peut mettre le DVD"
onirisme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2007, 11h48   #6
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
is_null et l'opérateur == sont totalement différents : l'opérateur == ne contrôle pas le type de la variable donc pour PHP les valeurs FALSE, 0, 0.0, '' (chaîne vide), NULL, ... ne font qu'une. En revanche, is_null ou l'opérateur d'égalité en type et en valeur (===) permettent bien de contrôler que la valeur est NULL mais pas autre chose (FALSE, 0, ...).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h55.


 
 
 
 
Partenaires

Hébergement Web