IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Vérifier si une image (lien) existe, sinon image (lien) par défaut


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2013
    Messages : 10
    Points : 11
    Points
    11
    Par défaut Vérifier si une image (lien) existe, sinon image (lien) par défaut
    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

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    J'ai insérer des liens renvoyant à des images dans mon script
    Ca veut dire quoi ça ???
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre à l'essai
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2013
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    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

  4. #4
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Points : 135
    Points
    135
    Par défaut
    Salut,

    basiquement, je pense qu'il a voulu dire qu'il faisait quelque chose du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="<?php echo $urlImage;?>" />
    Il cherche un moyen de remplacer $urlImage dans le cas ou l'image n'existerai pas.

    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:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    if(!file_exists($urlImage))
    	echo '<a href="imageNotFound.jpg">';
    else
    	echo '<a href="'.$urlImage.'">';
     
    ?>
    2) Sinon si l'image est externe à ton serveur, tu peux appeler get_headers()
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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>
    j'ai pas vérifié ma syntaxe, mais l'idée est là

  5. #5
    Membre à l'essai
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2013
    Messages : 10
    Points : 11
    Points
    11
    Par défaut Merci
    Merci xxkirastarothxx ma réponse se trouve dans la 2ème partie de ce que tu me proposes!
    c'est résolu!

  6. #6
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Points : 135
    Points
    135
    Par défaut
    au plaisir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vérifier si une base SQLite existe
    Par poussinvert dans le forum Android
    Réponses: 2
    Dernier message: 15/05/2012, 22h26
  2. Réponses: 4
    Dernier message: 01/11/2008, 10h41
  3. Image à la place du bouton submit par défaut
    Par Taz_22 dans le forum Struts 1
    Réponses: 9
    Dernier message: 13/08/2008, 17h07
  4. Réponses: 1
    Dernier message: 10/09/2007, 13h41
  5. Ouvrir une page web (URL) dans le navigateur par défaut, dont Firefox.
    Par happy.rotter dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/09/2007, 13h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo