Affichage photos sur serveur web
Fermé
Damdam__33
Messages postés
21
Date d'inscription
mercredi 29 août 2018
Statut
Membre
Dernière intervention
17 janvier 2020
-
Modifié le 16 janv. 2020 à 21:15
Damdam__33 Messages postés 21 Date d'inscription mercredi 29 août 2018 Statut Membre Dernière intervention 17 janvier 2020 - 17 janv. 2020 à 21:48
Damdam__33 Messages postés 21 Date d'inscription mercredi 29 août 2018 Statut Membre Dernière intervention 17 janvier 2020 - 17 janv. 2020 à 21:48
A voir également:
- Affichage photos sur serveur web
- Partage de photos - Guide
- Web office - Guide
- Toutes mes photos - Guide
- Changer serveur dns - Guide
- Adresse web - Guide
7 réponses
Judge_DT
Messages postés
29395
Date d'inscription
vendredi 5 février 2010
Statut
Modérateur
Dernière intervention
23 octobre 2021
9 657
16 janv. 2020 à 19:48
16 janv. 2020 à 19:48
Salut,
Et.. Sinon, l'usage du mod "autoindex" de apache, qui permet de lister le contenu d'un répertoire et ensuite de l'afficher ne te suffit pas ? :-)
Et.. Sinon, l'usage du mod "autoindex" de apache, qui permet de lister le contenu d'un répertoire et ensuite de l'afficher ne te suffit pas ? :-)
Bill-Billion
Messages postés
41
Date d'inscription
lundi 23 décembre 2019
Statut
Membre
Dernière intervention
2 septembre 2020
16 janv. 2020 à 20:10
16 janv. 2020 à 20:10
Bonsoir,
Ce sujet viens juste d'être résolu
Voir le lien:https://forums.commentcamarche.net/forum/affich-36414518-lister-un-repertoire
Votre probleme se trouve
ce qui s'explique que si il trouve un dossier stock la variable dossier qui est un array
qui t'affiche le dossier pas les elements qui s'y trouvent
Ce sujet viens juste d'être résolu
Voir le lien:https://forums.commentcamarche.net/forum/affich-36414518-lister-un-repertoire
Votre probleme se trouve
if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;} else {$dossier[] = $element;} }
ce qui s'explique que si il trouve un dossier stock la variable dossier qui est un array
foreach($dossier as $lien){ echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n"; }
qui t'affiche le dossier pas les elements qui s'y trouvent
Damdam__33
Messages postés
21
Date d'inscription
mercredi 29 août 2018
Statut
Membre
Dernière intervention
17 janvier 2020
16 janv. 2020 à 21:10
16 janv. 2020 à 21:10
Je ne suis pas sûr que ce soit le même problème que le mien, si je comprends bien le topic cité a un problème pour lister ses éléments dans son répertoire. Moi cette partie là fonctionne. En affichant le code source j'ai bien le bon nombre de photos.
Si je comprends bien, ce code affiche les dossiers trouvés dans mon répertoire.
Par contre j'ai également une boucle sur les fichiers également, ce qui explique d'ailleurs pourquoi je vois le lien de chacun des fichiers dans le code source de la page générée.
J'espère ne pas faire un hors sujet ^^
En tout cas merci de votre aide.
foreach($dossier as $lien){
echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
}
Si je comprends bien, ce code affiche les dossiers trouvés dans mon répertoire.
foreach($fichier as $lien) {
echo "\t\t\t<li><img src=\"$dir_nom/$lien \"></li>\n";
}
Par contre j'ai également une boucle sur les fichiers également, ce qui explique d'ailleurs pourquoi je vois le lien de chacun des fichiers dans le code source de la page générée.
J'espère ne pas faire un hors sujet ^^
En tout cas merci de votre aide.
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
16 janv. 2020 à 21:19
16 janv. 2020 à 21:19
Bonjour,
Déjà.. en ce qui conerne l'affichage aléatoire des images... cela peut provenir du cache de ton navigateur...
Donc.. vide le.
Ensuite, pour être sur d'avoir le bon chemin, transforme ton chemin relatif en absolu.
Avec, par exemple, la fonction realpath https://www.php.net/manual/fr/function.realpath.php
Reviens nous voir ensuite avec le code source GENERE (celui que tu peux visualiser dans ton navigateur après avoir affiché ta page et fais un CTRL+U )
NB: J'espère que le nom de tes images ne comportent pas de caractères spéciaux.. (idem pour les dossiers dans lequels elles se trouvent )
Déjà.. en ce qui conerne l'affichage aléatoire des images... cela peut provenir du cache de ton navigateur...
Donc.. vide le.
Ensuite, pour être sur d'avoir le bon chemin, transforme ton chemin relatif en absolu.
Avec, par exemple, la fonction realpath https://www.php.net/manual/fr/function.realpath.php
Reviens nous voir ensuite avec le code source GENERE (celui que tu peux visualiser dans ton navigateur après avoir affiché ta page et fais un CTRL+U )
NB: J'espère que le nom de tes images ne comportent pas de caractères spéciaux.. (idem pour les dossiers dans lequels elles se trouvent )
Damdam__33
Messages postés
21
Date d'inscription
mercredi 29 août 2018
Statut
Membre
Dernière intervention
17 janvier 2020
16 janv. 2020 à 21:29
16 janv. 2020 à 21:29
Bonjour jordane45,
1- Alors j'ai vidé mon cache et même changé de navigateur, cela n'a rien changé.
2- J'ai rajouté echo realpath('../../../photos/A') . PHP_EOL; --> Cela me renvoie D:\photos\A qui est le bon dossier attendu.
3- code source généré:
4- J'ai renommé les photos au cas où en 1, 2, 3, 4. Les dossiers s'appellent donc photos et A donc sans caractère spéciaux.
Merci de ton aide
1- Alors j'ai vidé mon cache et même changé de navigateur, cela n'a rien changé.
2- J'ai rajouté echo realpath('../../../photos/A') . PHP_EOL; --> Cela me renvoie D:\photos\A qui est le bon dossier attendu.
3- code source généré:
<p>Liste des images accessibles sur l'hebergeur :
</p> <ul class=rien>
<li><img src="../../../photos/A/1.jpg "></li>
<li><img src="../../../photos/A/2.jpg "></li>
<li><img src="../../../photos/A/3.jpg "></li>
<li><img src="../../../photos/A/4.jpg "></li>
</ul>
4- J'ai renommé les photos au cas où en 1, 2, 3, 4. Les dossiers s'appellent donc photos et A donc sans caractère spéciaux.
Merci de ton aide
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
>
Damdam__33
Messages postés
21
Date d'inscription
mercredi 29 août 2018
Statut
Membre
Dernière intervention
17 janvier 2020
16 janv. 2020 à 21:54
16 janv. 2020 à 21:54
Tu n'as pas applique le realpath a ton code...
Sinon le chemin des images ne contiendrait plus de ../
tu remarquera également que tu as un espace en trop entre la fin du nom de ton image et les guillemets..
Sinon le chemin des images ne contiendrait plus de ../
tu remarquera également que tu as un espace en trop entre la fin du nom de ton image et les guillemets..
Damdam__33
Messages postés
21
Date d'inscription
mercredi 29 août 2018
Statut
Membre
Dernière intervention
17 janvier 2020
16 janv. 2020 à 22:39
16 janv. 2020 à 22:39
Ah ok effectivement j'avais pas compris ta demande.
J'ai rectifié et enlevé l'espace à la fin ce qui me donne:
Par contre toujours pas d'affichage de photos.
Le sens des / ou \ a-t-il une importance? Dans l'explorateur Windows cela ne semble pas le cas
J'ai rectifié et enlevé l'espace à la fin ce qui me donne:
D:\photos\A
<p>Liste des images accessibles sur l'hebergeur :
</p> <ul class=rien>
<li><img src="D:\photos\A/1.jpg"></li>
<li><img src="D:\photos\A/2.jpg"></li>
<li><img src="D:\photos\A/3.jpg"></li>
<li><img src="D:\photos\A/4.jpg"></li>
</ul>
Par contre toujours pas d'affichage de photos.
Le sens des / ou \ a-t-il une importance? Dans l'explorateur Windows cela ne semble pas le cas
Damdam__33
Messages postés
21
Date d'inscription
mercredi 29 août 2018
Statut
Membre
Dernière intervention
17 janvier 2020
16 janv. 2020 à 22:55
16 janv. 2020 à 22:55
Autre remarque: en copiant un des liens générés (par ex D:\photos\A/1.jpg) dans l'explorateur Windows, la photo s'ouvre bien. Les chemins ne semblent donc pas être en cause?
N'y a-t-il pas un paramétrage/option en lien avec l'affichage d'images sur Wamp ou ailleurs?
N'y a-t-il pas un paramétrage/option en lien avec l'affichage d'images sur Wamp ou ailleurs?
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
>
Damdam__33
Messages postés
21
Date d'inscription
mercredi 29 août 2018
Statut
Membre
Dernière intervention
17 janvier 2020
16 janv. 2020 à 22:58
16 janv. 2020 à 22:58
Déplace ton dossier photo dans le répertoire www de ton wamp
..
je pense que ça devrait beaucoup mieux marcher
..
je pense que ça devrait beaucoup mieux marcher
Damdam__33
Messages postés
21
Date d'inscription
mercredi 29 août 2018
Statut
Membre
Dernière intervention
17 janvier 2020
>
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
Modifié le 16 janv. 2020 à 23:08
Modifié le 16 janv. 2020 à 23:08
Pas de changement:
Par contre en remettant sans le realpath cela fonctionne
Par contre n'y a-t-il pas un moyen d'accéder à un dossier qui n'est pas dans le répertoire de wamp? Le but était plutôt d'accéder à des photos d'un autre dossier plutôt que déplacer mes dossiers photos dans le répertoire de wamp.
<p>Liste des images accessibles sur l'hebergeur :
</p> <ul class=rien>
<li><img src="D:\wamp64\www\photos\A/1.jpg"></li>
<li><img src="D:\wamp64\www\photos\A/2.jpg"></li>
<li><img src="D:\wamp64\www\photos\A/3.jpg"></li>
<li><img src="D:\wamp64\www\photos\A/4.jpg"></li>
</ul>
Par contre en remettant sans le realpath cela fonctionne
<p>Liste des images accessibles sur l'hebergeur :
</p> <ul class=rien>
<li><img src="../photos/A/1.jpg"></li>
<li><img src="../photos/A/2.jpg"></li>
<li><img src="../photos/A/3.jpg"></li>
<li><img src="../photos/A/4.jpg"></li>
</ul>
Par contre n'y a-t-il pas un moyen d'accéder à un dossier qui n'est pas dans le répertoire de wamp? Le but était plutôt d'accéder à des photos d'un autre dossier plutôt que déplacer mes dossiers photos dans le répertoire de wamp.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
16 janv. 2020 à 23:36
16 janv. 2020 à 23:36
Et pour le coup, retire le realpath pour travailler avec le chemin relatif
En supposant que ton script se trouve à la racine du www ...
le script devient
Ce code n'affichera que les images directement présentes dans le dossier $dir_nom
Si tu veux également afficher les éventuels images qui se trouvent dans des sous dossiers il va falloir faire du récursif...
Un truc du genre
En supposant que ton script se trouve à la racine du www ...
le script devient
$dir_nom = './photos'; // dossier listé (pour lister le répertoire courant : $dir_nom = '.' --> ('point') $dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant $fichier= array(); // on déclare le tableau contenant le nom des fichiers while($element = readdir($dir)) { if($element != '.' && $element != '..') { if (!is_dir($dir_nom.'/'.$element)) { $fichier[] = $element; } } } closedir($dir); echo "<p>Liste des dossiers accessibles dans '$dir_nom' :</p>"; echo "<ul class='rien'>"; foreach($fichier as $lien){ echo "<li> <a href='$dir_nom/$lien'> <img src='$dir_nom/$lien' alt='$lien' style='width:200px;'></img> </a> </li>"; } echo "</ul>";
Ce code n'affichera que les images directement présentes dans le dossier $dir_nom
Si tu veux également afficher les éventuels images qui se trouvent dans des sous dossiers il va falloir faire du récursif...
Un truc du genre
<?php function getDirectory( $path = '.', $level = 0 ){ $ignore = array( 'cgi-bin', '.', '..' ); if( is_dir($path)){ $dh = @opendir( $path ); while( false !== ( $file = readdir( $dh ) ) ){ if( !in_array( $file, $ignore ) ){ if( is_dir( "$path/$file" ) ){ echo "$file"; echo" <ul>"; getDirectory( "$path/$file", ($level+1) ); echo "</ul>"; } else { echo"<li>"; echo "<img src='$path/$file' style='width:100px;' alt='$file'></img><br />"; echo"</li>"; } } } closedir( $dh ); }else{ echo "$path is not dir !"; } // Open the directory to the handle $dh // Close the directory handle } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <?php echo "Fichiers dans : ./images/"; getDirectory('./photos/'); ?> </body> </html>
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
16 janv. 2020 à 23:37
16 janv. 2020 à 23:37
PS: A l'avenir.. merci de poster ton code correctement en indiquant le LANGAGE dans les balises de code afin d'avoir la coloration syntaxique... comme les codes que je te poste.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Damdam__33
Messages postés
21
Date d'inscription
mercredi 29 août 2018
Statut
Membre
Dernière intervention
17 janvier 2020
Modifié le 17 janv. 2020 à 00:10
Modifié le 17 janv. 2020 à 00:10
C'est noté!
Alors en testant ta première partie de code, cela ne change pas le résultat, c'est à dire que dès que je veux afficher des photos d'un dossier hors du www de wamp, les photos ne s'affichent plus, ni même les dossiers présents.
Alors en testant ta première partie de code, cela ne change pas le résultat, c'est à dire que dès que je veux afficher des photos d'un dossier hors du www de wamp, les photos ne s'affichent plus, ni même les dossiers présents.
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
17 janv. 2020 à 00:32
17 janv. 2020 à 00:32
C'est normal...
Et c'est pour ca que je t'ai fait déplacé tes dossiers dans le www
Pour accéder en dehors de ce dossier tu dois bidouiller le paramétrage apache... Mais là ce n'est plus une question php
Et c'est pour ca que je t'ai fait déplacé tes dossiers dans le www
Pour accéder en dehors de ce dossier tu dois bidouiller le paramétrage apache... Mais là ce n'est plus une question php
Damdam__33
Messages postés
21
Date d'inscription
mercredi 29 août 2018
Statut
Membre
Dernière intervention
17 janvier 2020
>
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
Modifié le 17 janv. 2020 à 08:23
Modifié le 17 janv. 2020 à 08:23
Ah ok merci je vais chercher du côté paramétrage alors.
Du coup j'en profite pour poser juste les questions programmation qui me restent:
- J'aime bien le rendu avec les photos plus petites d'affichées. Mais y a-t-il un moyen d'afficher les photos en mode tableau, donc plusieurs photos sur une même "ligne"?
- Mon serveur sera donc sur mon PC, qui se met en veille automatiquement. Y a-t-il un moyen de lancer un WOL pour réveiller le PC quand on essaie d'accéder au site? Côté paramétrage Apache aussi?
- Ton code fonctionne très bien mais affiche toutes les photos du dossier source et sous-dossier. Serait-il possible de n'afficher que les photos du dossier en cours, tout en affichant les dossiers existants afin de pouvoir naviguer dedans?
- Comment exclure un sous-dossier?
- Dernière question: Seules les photos sont affichées, est-il possible d'afficher des vidéos également?
Je sais que j'en demande beaucoup, je n'attends pas des réponses complètes mais au moins des pistes à creuser.
Merci beaucoup en tout cas!
Du coup j'en profite pour poser juste les questions programmation qui me restent:
- J'aime bien le rendu avec les photos plus petites d'affichées. Mais y a-t-il un moyen d'afficher les photos en mode tableau, donc plusieurs photos sur une même "ligne"?
- Mon serveur sera donc sur mon PC, qui se met en veille automatiquement. Y a-t-il un moyen de lancer un WOL pour réveiller le PC quand on essaie d'accéder au site? Côté paramétrage Apache aussi?
- Ton code fonctionne très bien mais affiche toutes les photos du dossier source et sous-dossier. Serait-il possible de n'afficher que les photos du dossier en cours, tout en affichant les dossiers existants afin de pouvoir naviguer dedans?
- Comment exclure un sous-dossier?
- Dernière question: Seules les photos sont affichées, est-il possible d'afficher des vidéos également?
Je sais que j'en demande beaucoup, je n'attends pas des réponses complètes mais au moins des pistes à creuser.
Merci beaucoup en tout cas!
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
17 janv. 2020 à 10:57
17 janv. 2020 à 10:57
Ton code fonctionne très bien mais affiche toutes les photos du dossier source et sous-dossier. Serait-il possible de n'afficher que les photos du dossier en cours,
oui, en retirant le réccursif
Comment exclure un sous-dossier
Avec un iF ..
Dernière question: Seules les photos sont affichées, est-il possible d'afficher des vidéos également
Détécter l'extension du fichier
si image .. utiliser la balise img
Si vidéo .. utiliser la balise video
Damdam__33
Messages postés
21
Date d'inscription
mercredi 29 août 2018
Statut
Membre
Dernière intervention
17 janvier 2020
17 janv. 2020 à 21:48
17 janv. 2020 à 21:48
Merci jordane45 pour tes réponses
J'essaie de mettre tout ça en place avant de fermer le topic.
Bonne soirée.
J'essaie de mettre tout ça en place avant de fermer le topic.
Bonne soirée.
16 janv. 2020 à 21:04