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

JavaScript Discussion :

Meilleur Moyen de récupérer les images d'un site


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    mars 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : mars 2014
    Messages : 21
    Points : 18
    Points
    18
    Par défaut Meilleur Moyen de récupérer les images d'un site
    Bonjour !!

    Merci d'avance à ceux qui m'aideront sur le sujet !
    Mon problème pouvait aussi bien se poster ici que sur le fofo PHP alors désolé si je suis pas au bon endroit...

    Ce n'est pas vraiment une question de "code" mais de quel est le meilleur moyen/comment feriez vous pour :

    Nous réalisons un site internet "vitrine" avec pas mal d'images/photos sur les pages du site.
    Notre dernière étape consiste à faire une galerie Photo avec TOUTES les images qui peuvent être présentes sur le site.
    Les images peuvent souvent changer au fil du temps (ajout de nouvelles/suppression d'autres) mais que le total restera toujours autour de 80-100 photos.
    Toutes ces images sont dans un dossier img/ sur le serveur web et pour des facilités, elles ont toutes un nom simple (carousel_1.jpg / page_accueil_1.jpg par exemple).


    D'où ma question : comment feriez-vous pour récupérer TOUTES les images du site ? Ou du moins le chemin des images, afin de stocker les chemins dans un tableau et ensuite créer la galerie par exemple.

    J'ai pensé à plusieurs solutions :
    -- script PHP (ce bout de code fonctionne très bien par exemple) :

    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
    17
    18
    19
    20
    <?php
    /* TEST POUR RECUPERER CHEMINS DES IMAGES*/
     
    $directoty = "img";
     
    function scanDirectories($rootDir, $allData=array()) {
        $invisibleFileNames = array(".", "..", ".htaccess", ".htpasswd");
        $dirContent = scandir($rootDir);
        foreach($dirContent as $key => $content) {
            $path = $rootDir.'/'.$content;
            if(!in_array($content, $invisibleFileNames)) {
                if(is_file($path) && is_readable($path)) {
                    $allData[] = $path;
                }elseif(is_dir($path) && is_readable($path)) {
                    $allData = scanDirectories($path, $allData);
                }
            }
        }
        return $allData;
    }

    -- fichier json/bdd listant tous les chemins des images, que j'alimente à chaque mise à jour (l'horreur quand même..)
    -- script Javascript ??? (je ne sais pas si en JS on peut récup les chemins des fichiers d'un dossier ???)

    -- Si vous avez d'autres soluces pratiques et efficaces, je suis preneur.

    J'ai plusieurs moyens pour créer ma galerie en JS/jQuery.
    Si je fais un script PHP pour récupérer les chemins, je ne sais pas stocker cela dans une variable JS par exemple (je n'ai jamais mélangé du JS et du PHP personnellement..)

    Que feriez-vous dans un tel cas :p ?

    Merci d'avance !
    Désolé du petit pavé & j'espère que c'est clair pour vous :p
    Fuot

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    mars 2002
    Messages
    38 428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : mars 2002
    Messages : 38 428
    Points : 65 914
    Points
    65 914
    Billets dans le blog
    1
    Par défaut
    un glob sur le répertoire image ...
    une boucle pour générer un array ou directement les balises img ...
    Ma page Developpez - Mon Blog 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.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    mars 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : mars 2014
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    En PHP alors ?
    J'étais dans ce sens aussi.

    Et tu ferais la galerie photos en PHP derrière du coup ?

    Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    mars 2002
    Messages
    38 428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : mars 2002
    Messages : 38 428
    Points : 65 914
    Points
    65 914
    Billets dans le blog
    1
    Par défaut
    Oui la récupération des path d'mages en php.

    Après la galerie tu peux inclure du js ou un plugin jquery ...
    du coup tu passes les infos à js ou jquery avec php à la création de la page en php
    Ma page Developpez - Mon Blog 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.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  5. #5
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    mars 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : mars 2014
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    Ok très bien.
    Tu confirmes ce que je pensais merci !
    (pour infos : le petit bout de code php que j'ai mis plus haut est vraiment top pour lister tous les fichiers d'un dossier et de ses sous-dossiers, je vais le comparer à glob()!! )

    Dernières questions sur le sujet du coup :

    N'est-ce pas un peu "dégueu" d'insérer du JS dans une page php ?
    En général j'aime bien avoir des fichiers distincts (le javascript dans les .js etc.).
    Après si c'est la seule solution..

    N'ayant jamais fait ca (je cherche de mon côté :p) :
    comment je peux récupérer ce tableau php pour l'utiliser côté JS ? S'il vous plait.

    Merci encore !

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    mars 2002
    Messages
    38 428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : mars 2002
    Messages : 38 428
    Points : 65 914
    Points
    65 914
    Billets dans le blog
    1
    Par défaut
    Il faut comprendre la chronologie des langages ...

    php coté serveur rédige le code html js envoyé au client

    Donc il n'y a rien de crado a demander à php de générer le code js ...
    Ma page Developpez - Mon Blog 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.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  7. #7
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    mars 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : mars 2014
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    Bon j'ai réussi !

    Donc pour récapituler ma soluce pour ceux qui auront besoin :

    Code PHP pour récupérer toutes les Fichiers d'un dossier et de ses sous-dossiers (des images dans mon cas) :
    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
    17
    <?php
    /* TEST POUR RECUPERER CHEMINS DES IMAGES*/
    function scanDirectories($rootDir, $allData=array()) {
        $invisibleFileNames = array(".", "..", ".htaccess", ".htpasswd");
        $dirContent = scandir($rootDir);
        foreach($dirContent as $key => $content) {
            $path = $rootDir.'/'.$content;
            if(!in_array($content, $invisibleFileNames)) {
                if(is_file($path) && is_readable($path)) {
                    $allData[] = $path;
                }elseif(is_dir($path) && is_readable($path)) {
                    $allData = scanDirectories($path, $allData);
                }
            }
        }
        return $allData;
    }
    Ensuite j'appelle cette fonction et j'utilise json_encode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $tab = scanDirectories("img");
    $myTab = json_encode($tab);
    Ensuite côté JS je peux en faire ce que je veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <script type="text/javascript">
        var myJsonArray='<?php echo $tab;?>';
        console.log(myJsonArray);
    </script>
    Voilà et ca fonctionne, j'ai un tableau json avec tous les chemins de mes images côté Javascript
    Reste qu'à m'en servir comme je veux.
    Sujet résolu !


    Citation Envoyé par SpaceFrog Voir le message
    Il faut comprendre la chronologie des langages ...

    php coté serveur rédige le code html js envoyé au client

    Donc il n'y a rien de crado a demander à php de générer le code js ...
    ==> I know it , Pardon j'ai mal posé ma question :
    Mettre du JS dans une page PHP, c'est mal ???? => j'avais lu que "tu fais du html dans un .html, du js dans un .js, du php dans un .php"

    Merci encore !
    Fuot

  8. #8
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    7 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 7 267
    Points : 11 396
    Points
    11 396
    Par défaut
    avez-vous vraiment besoin de JavaScript pour afficher les images ? vous pouvez les afficher directement en PHP.

    Citation Envoyé par Fuotmad Voir le message
    Mettre du JS dans une page PHP, c'est mal ???? => j'avais lu que "tu fais du html dans un .html, du js dans un .js, du php dans un .php"
    c'est mieux de séparer dans différents fichiers pour que ça soit plus simple pour vous quand vous avez besoin de faire des modifications.
    cela permet aussi aux navigateurs de mieux gérer le cache de chaque fichier et donc d'accélérer l'affichage de la page.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    mars 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : mars 2014
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    OK !
    En effet pas besoin de forcément utiliser JS.
    C'était par habitude de créer des galeries photos en jQuery/JS.

    Je vais donc faire l'affichage en galerie avec du PHP je pense.
    L'autre solution reste possible dans tous les cas.

    Merci de la réponse.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/03/2012, 12h48
  2. [iPhone] Meilleur moyen pour récupérer les tuiles de l'IGN
    Par Hadrien29 dans le forum IGN API Géoportail
    Réponses: 4
    Dernier message: 17/06/2010, 17h25
  3. [VB6] Récupérer les images à partir d'une ImageList
    Par mbzhackers dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 30/05/2006, 16h46
  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, 13h00

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