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 :

galerie photos à partir d'un dossier distant


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2011
    Messages : 20
    Points : 9
    Points
    9
    Par défaut galerie photos à partir d'un dossier distant
    Bonjour,

    Voilà je réalise un site web qui contient une galerie photos.

    Le problème, c'est que l'on me demande d'utiliser le dossier source qui contient ces photos, et ce dossier se trouve sur un autre hébergeur...

    voici ou se trouve les photos: http://www.quatorziemeto.be/img/acti...4H/24h2009/gd/

    Vu le nombre important de photos, quelle serait la méthode la plus simple pour ne pas écrire à chaque fois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <img src="http://www.quatorziemeto.be/img/activites/24H/24h2009/gd/DSCN0004.jpg" alt="" />
    <img src="http://www.quatorziemeto.be/img/activites/24H/24h2009/gd/DSCN0005.jpg" alt="" />
    ect... pour chaque photos...

    Merci d'avance pour vos réponses!

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Hello

    En faisant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $xml = file_get_contents("http://www.quatorziemeto.be/img/acti...4H/24h2009/gd/");
    $doc = new DOMDocument();
    $doc->loadHTML($xml);
    et en utilisant une XQuery pour extraire les balises img.

    http://php.net/manual/en/class.domdocument.php
    http://www.php.net/manual/en/class.domxpath.php

  3. #3
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    ou bien tu parses l'index retourné et tu extrais les images avec les regex

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    	$matches = array();
    	$index = fopen("http://www.quatorziemeto.be/img/activites/24H/24h2009/gd", "r");
    	while ($line = fgets($index)) {
    		if (preg_match('/.*<a href="([\w]+.jpg)">.*/', $line, $matches)) {
    			echo '<img src="http://www.quatorziemeto.be/img/activites/24H/24h2009/gd/'.$matches[1].'" alt="" /><br />';
    		}
    	}
    ?>

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2011
    Messages : 20
    Points : 9
    Points
    9
    Par défaut
    Merci! Ça fonctionne...

    Maintenant mon but est d'en faire une galerie qui afficherait les photos 8 par 8...
    Ce qui me donnait en html:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <ul>
        <li>
            <a href="...."><img src="...." /></a>
            <a href="...."><img src="...." /></a>
            ect...
        </li>
     
        <li>
            <a href="...."><img src="...." /></a>
            <a href="...."><img src="...." /></a>
            ect...
        </li>
        ect...
    </ul>
    Voilà, une idée de comment faire?

    Merci d'avance!

  5. #5
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Là franchement tu veux qu'on te fasse ton code à ta place.

    Utilise soit un modulo dans un for (ou foreach) soit un LimitIterator:
    http://www.php.net/~helly/php/ext/sp...tIterator.html

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2011
    Messages : 20
    Points : 9
    Points
    9
    Par défaut
    Non je ne veux pas que l'on fasse le code à ma place...

    Je veux simplement comprendre, je débute en php et je voulais savoir si ce que je voulais faire était possible... Si oui: comment, avec quelle méthode, ...

    si on pouvait me donner un petit exemple commenté, ça serait sympas...

    Merci

  7. #7
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    C'est une boucle classique que tu dois utiliser.
    L'algorythme est simple; tu parcours la liste d'éléments à afficher et tous les n éléments tu affiche un élément en plus.

    Il y a plusieurs façons de faire mais la plus simple est d'utiliser un modulo (le modulo est le reste de la division euclidienne de a par b).

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    // Délarer un tableau de 24 élément tous définis à 'test'
    $els = array_fill(0,24,'test');
     
    // On garde le count dans une variable pour
    // ne pas avoir à le recalculer à chaque
    // iteration
    $count_els = count($els);
     
    // On commence à afficher la liste
    echo "<ul>";
     
    // On va ensuite itérer sur la liste
    for ($i=0; $i<$count_els; $i++){
     
      // On affiche l'élément en cours
      echo "<li>{$els[$i]}-$i</li>";
     
      // On vérifie si l'index courant
      // est un multiple de 8 (0 est
      // exclu car 0/8 fait toujours 0)
      // et on ferme la liste en cours
      // pour en ouvrir une nouvelle
      if ($i !== 0 && $i % 8 == 0)
        echo "</ul><ul>";
    }
     
    // on ferme la dernière liste
    echo "</ul>";
    Produit:
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <ul>
    <li>test-0</li>
    <li>test-1</li>
    <li>test-2</li>
    <li>test-3</li>
    <li>test-4</li>
    <li>test-5</li>
    <li>test-6</li>
    <li>test-7</li>
    <li>test-8</li>
    </ul>
    <ul>
    <li>test-9</li>
    <li>test-10</li>
    <li>test-11</li>
    <li>test-12</li>
    <li>test-13</li>
    <li>test-14</li>
    <li>test-15</li>
    <li>test-16</li>
    </ul>
    <ul>
    <li>test-17</li>
    <li>test-18</li>
    <li>test-19</li>
    <li>test-20</li>
    <li>test-21</li>
    <li>test-22</li>
    <li>test-23</li>
    </ul>

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2011
    Messages : 20
    Points : 9
    Points
    9
    Par défaut
    Un très grand merci pour ton explication!
    Je vais essayer de m'en sortir avec ça...

    Bonne continuation

Discussions similaires

  1. Galerie photos à partir d'un dossier distant.
    Par jptoco86 dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 21/02/2011, 14h36
  2. [WD14] Enregister des photos a partir d'un dossier source
    Par infonet dans le forum WinDev
    Réponses: 1
    Dernier message: 25/12/2009, 03h09
  3. Galerie Photo
    Par bolo dans le forum ASP
    Réponses: 22
    Dernier message: 25/10/2005, 15h33
  4. [MySQL] Afficher une photo à partir de la base de données
    Par microcongo dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/09/2005, 17h29
  5. afficher le contenu d'un dossier distant
    Par roots_man dans le forum ASP
    Réponses: 3
    Dernier message: 04/02/2005, 17h23

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