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 :

Récupérer le favicon d'un site


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    HobbyWeb
    Inscrit en
    Janvier 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : HobbyWeb

    Informations forums :
    Inscription : Janvier 2005
    Messages : 183
    Par défaut Récupérer le favicon d'un site
    bonjour,

    Je pêche sur ceci... j'ai un annuaire et j'aimerais afficher pour chaque site (selon le résultat de la recherche) le favicon dudit site... mais voilà en me renseignement on me propose ceci... et malheureusement cela ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?PHP
    // pour tester...
     
    $url = "http://www.google.fr";
     
    if(file_exists("$url/favicon.ico")) {
    echo " affiche le résultat ici...<img src='$url/favicon.ico'><br>";
    } 
    else { 
    echo "icone inexistant, donc ça ne marche pas...<br>"; 
    }
    ?> 
     
    <br><br>
    le résultat devrait être le suivant.. <img src="http://www.google.fr/favicon.ico">
    D'avance merci de vos conseils (si jamais j'utilises PHP5)

    Cordialement
    Yule

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    cela ne fonctionne pas.
    Pourquoi ? qu'est ce qui te permet d'avancer ça ?

  3. #3
    Membre expérimenté Avatar de hunter
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 208
    Par défaut
    est possible de testé l'existance de fichier sur des serveurs distant ?

  4. #4
    Membre éprouvé Avatar de hansaplast
    Homme Profil pro
    Artisant logiciel
    Inscrit en
    Septembre 2005
    Messages
    950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisant logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 950
    Par défaut
    desolé si je met un lien vers un autres post, mais plusieures solutions sont evoquées :
    http://www.developpez.net/forums/vie...r=asc&start=15

    voila, tu devrai pouvoir l'adapter a toi meme

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2004
    Messages : 99
    Par défaut
    Citation Envoyé par hunter
    est possible de testé l'existance de fichier sur des serveurs distant ?
    Ca m'étonnerai, la doc en tout cas n'en parle pas http://fr.php.net/function.file-exists

    Par contre c'est possible avec un petit coup de fsockopen sur le serveur et l'envoi d'une requete HTTP GET.

    Edit : doublé, effectivement en fonction de la config c'est possible avec fopen http://fr.php.net/function.fopen

  6. #6
    Membre éclairé
    Homme Profil pro
    HobbyWeb
    Inscrit en
    Janvier 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : HobbyWeb

    Informations forums :
    Inscription : Janvier 2005
    Messages : 183
    Par défaut

    Citation:
    cela ne fonctionne pas.

    Pourquoi ? qu'est ce qui te permet d'avancer ça ?
    Il suffit juste d'essayer l'exemple pour le constater.

    Je pensais qu'un file_exists suffirait... maintenant ça me parait bien compliqué... pourtant un exemple ici du bon fonctionnement
    http://www.mozbot.fr/search?q=moteur%20de%20recherche parait assez banale.. je me suis bien trompé... rire

    J'ai essayé ceci aussi sans succès

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?PHP
    $url = "http://www.google.fr";
    $site = "$url/favicon.ico"; 
    $file = @fopen($site, 'r');	
    if(file_exists($file)) 
    {
    echo " affiche le résultat ici...<img src='$url/favicon.ico'><br>";
    }
    else
    {
    echo "icone inexistant, donc ça ne marche pas...<br>";
    }
    ?>
    Cordialement
    Yule

  7. #7
    Invité de passage
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1
    Par défaut Un code qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $favicon = "http://unsite.com/favicon.ico";
     
    if ($fichier = @fopen($favicon, 'r'))			
    {
       $alink = '<img src="' . $favicon . '">';
    }
    else 
    {
       $alink = "";
    } 
     
    echo $alink;
    Peut être simplifié en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $alink = "";
    if ($fichier = @fopen($favicon, 'r')) $alink = '<img src="' . $favicon . '">';
    echo $alink;

  8. #8
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 56
    Par défaut
    Le problème c'est si l'icône ne se trouve pas a la racine car avec $url.'/ico.ico', la recherche est limitée. Il te faudrais rechercher dans le code de ta page les lignes du type : <link rel="shortcut icon" href="(.+)" />*

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $recherche = '|<link rel="[.+]icon)" href="(.+)" />|U';
    Avec preg_match_all($recherche, $contenuPage, $data, PREG_PATTERN_ORDER);
    Cela en utilisant le if (fopen('http://mapage.fr', 'r')){...}

    et tu récupère les dernier lien avec $data[1][count($data[0])-1]; Pour plus d'info Cf manual

    Recherche a améliorer car si le href est avant le rel, il n'y aura pas de données mais j'aurais fait comme ca.

    *Si bien sûr l'icone est appelé avec cette balise meta !

  9. #9
    Nouveau candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2014
    Messages : 2
    Par défaut Va être plus compliqué que cela
    Je cherche à faire exactement cela, plus précisément, trouver le favicon, puis l'enregistrer sur mon site comme cela, toute nouvelle entrée en rapport avec le site en question, je peux fournir le favicon sans à avoir à les charger depuis le site source. Hors, actuellement, le favicon peux être d'extension .ico .gif, .png ou .jpg. Il peut être placé à la racine où dans un dossier, et surtout, peut être dans le header sous différente forme comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <meta content="/images/google_favicon_128.png" itemprop="image"> Google
    <link rel="shortcut icon" href="https://s.yimg.com/ok/u/assets/img/favicon-fresh-107777.ico"> Yahoo Mail
    <link rel="shortcut icon" href="http://www.monsite.com/favicon.ico" type="image/x-icon" /> Site lambda
    Et d'autres techniques aussi (SiteAdvisor.com par exemple à un favicon mais aucune trace dans le header…).

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Le favicon n'a pas besoin d'être déclaré, il peut etre simplement à la racine :
    http://www.siteadvisor.com/favicon.ico
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Nouveau candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2014
    Messages : 2
    Par défaut J'ai trouvé mon bonheur
    Citation Envoyé par sabotage Voir le message
    Le favicon n'a pas besoin d'être déclaré, il peut etre simplement à la racine :
    http://www.siteadvisor.com/favicon.ico
    C'est bon, entre temps je suis tomber sur un post parlant que Google à sortie un service gratuit pour pouvoir afficher le favicon de n'importe quel site dans son display. Voici un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="http://www.google.com/s2/favicons?domain=developpez.net" />
    Je l'ai testé pour mon nouveau projet et cela rend bien

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/06/2006, 14h23
  2. Récupérer des infos sur mes sites
    Par meufeu dans le forum Langage
    Réponses: 3
    Dernier message: 27/04/2006, 10h25
  3. récupérer les informations d'un site.
    Par jexl dans le forum Langage
    Réponses: 2
    Dernier message: 19/03/2006, 19h23
  4. Récupérer les images d'un site web
    Par [Silk] dans le forum Web & réseau
    Réponses: 2
    Dernier message: 15/03/2006, 12h00
  5. Réponses: 5
    Dernier message: 05/10/2004, 13h05

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