Bonjour,
J'ai insérer des liens renvoyant à des images dans mon script, ce que j'aimerai c'est vérifier si le lien/image existe et si il n'existe pas renvoyer le lien par défaut.
J'aurai besoin d'un coup de main pour le code php svp!
Merci
Version imprimable
Bonjour,
J'ai insérer des liens renvoyant à des images dans mon script, ce que j'aimerai c'est vérifier si le lien/image existe et si il n'existe pas renvoyer le lien par défaut.
J'aurai besoin d'un coup de main pour le code php svp!
Merci
Ca veut dire quoi ça ??? :?Citation:
J'ai insérer des liens renvoyant à des images dans mon script
ce sont juste des liens images du type ^^
http://blogs.sgdf.fr/j-marie-vianney...020-003241.jpg
désolé je m'exprime très mal
Salut,
basiquement, je pense qu'il a voulu dire qu'il faisait quelque chose du genre:
Il cherche un moyen de remplacer $urlImage dans le cas ou l'image n'existerai pas.Code:<a href="<?php echo $urlImage;?>" />
comme ça je vois trois solutions:
1) si l'image que tu cherche est sur ton serveur, tu peux vérifier que le fichier existe:
2) Sinon si l'image est externe à ton serveur, tu peux appeler get_headers()Code:
1
2
3
4
5
6
7 <?php if(!file_exists($urlImage)) echo '<a href="imageNotFound.jpg">'; else echo '<a href="'.$urlImage.'">'; ?>
malheureusement, tu va ralentir l’exécution de ton script, puisque celui ci fera une requête http supplémentaire pour chacune des images que tu test:
Code:
1
2
3
4
5
6
7
8
9
10 <?php $url = 'http://www.domain.com/somefile.jpg'; $file_headers = @get_headers($urlImage); if($file_headers[0] == 'HTTP/1.1 404 Not Found') { echo '<a href="imageNotFound.jpg">'; } else { echo '<a href="'.$urlImage.'">'; } ?>
3) en javascript (jQuery)[EDIT] Oups, ça ce n'est valable que pour des image (<img src="">), pas pour un lien (<a href="">) qui redirige vers une image :/ [/EDIT]
lorsqu'une image renvoie une erreur, tu load une image par default:
un peu moins réactif pour le client que la 2) mais beaucoup plus rapide coté exécution serveur.
j'ai pas vérifié ma syntaxe, mais l'idée est là ;)Code:
1
2
3
4
5
6
7
8
9 <script> $(document).ready(function(){ // lorsque le document est près $("img").on("error", function(){ // on ajoute un écouteur sur l'evenement d'erreur des images $(this).off("error"); // /!\ important: on annule l'écouteur sur l'erreur dans le cas ou l'image de remplacement n'existe pas non plus, sinon on aura un boucle infinie, ce qui plantera compltement la page. $(this).attr("src", "imageNotFound.jpg"); // on remplace la src par une image par default }); }); </script>
Merci xxkirastarothxx ma réponse se trouve dans la 2ème partie de ce que tu me proposes!
c'est résolu!
au plaisir ;)