Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1203 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Affichage photos sur serveur web

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Affichage photos sur serveur web

n°2344686
damdam__33
Posté le 16-01-2020 à 19:28:18  profilanswer
 

Bonjour à tous,
 
J'essaie de faire un site afin de pouvoir consulter mes photos stockées sur mon PC depuis n'importe où.
Pour cela je comptais utiliser mon PC avec wampserver d'installé, avec un site écrit en PHP.
Ne connaissant rien à PHP, j'ai trouvé ce bout de code:

Code :
  1. <?php
  2. $dir_nom = '../../../photos'; // dossier listé (pour lister le répertoire courant : $dir_nom = '.'  --> ('point')
  3. $dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant
  4. $fichier= array(); // on déclare le tableau contenant le nom des fichiers
  5. $dossier= array(); // on déclare le tableau contenant le nom des dossiers
  6. while($element = readdir($dir)) {
  7.     if($element != '.' && $element != '..') {
  8.         if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
  9.         else {$dossier[] = $element;}
  10.     }
  11. }
  12. closedir($dir);
  13. if(!empty($dossier)) {
  14.     sort($dossier); // pour le tri croissant, rsort() pour le tri décroissant
  15.     echo "<p>Liste des dossiers accessibles dans '$dir_nom' : \n\n</p>";
  16.     echo "\t\t<ul class=rien>\n";
  17.         foreach($dossier as $lien){
  18.             echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
  19.         }
  20.     echo "\t\t</ul>";
  21. }
  22. if(!empty($fichier)){
  23.     sort($fichier);// pour le tri croissant, rsort() pour le tri décroissant
  24.     echo "<p>Liste des images accessibles sur l'hebergeur : \n\n</p>";
  25.     echo "\t\t<ul class=rien>\n";
  26.         foreach($fichier as $lien) {
  27.             echo "\t\t\t<li><img src=\"$dir_nom/$lien \"></li>\n";
  28.         }
  29.     echo "\t\t</ul>";
  30.  
  31. }
  32. ?>


 
Cela semble plutôt bien faire son travail, listant les photos que j'ai sur un dossier précis de mon PC et affichant les images.
C'est sur ce deuxième point que j'ai besoin de vos compétences car l'affichage des images est très aléatoire.
Je m'explique: dans l'exemple ci-dessus, les photos sont cherchées dans le dossier $dir_nom = '../../../photos';
Rien qu'à cette étape certaines photos s'affichent, d'autres non.
En faisant un autre test, je crée un dossier A dans le dossier photos, je renseigne donc $dir_nom = '../../../photos/A';
En copiant une image du dossier photos qui s'affichait dans le dossier A, cette photo ne s'affiche plus.
En affichant le code source, le chemin semble correct ainsi que le nom du fichier trouvé.
 
Je n'y comprends donc pas grand chose...
 
Si une âme charitable pouvait me venir en aide...
Merci d'avance et bonne journée!

mood
Publicité
Posté le 16-01-2020 à 19:28:18  profilanswer
 

n°2344690
B4X
kebab-case
Posté le 17-01-2020 à 00:15:34  profilanswer
 

remplace

Citation :


while($element = readdir($dir)) {


par  

Citation :


while (false !== ($element = readdir($dir))) {


 
https://www.php.net/manual/fr/function.readdir.php
"toute entrée dans le nom serait évalué à FALSE causera l'arrêt de la boucle (exemple, un répertoire nommé 0)."


---------------
In vanitas veritas.
n°2344695
rufo
Pas me confondre avec Lycos!
Posté le 17-01-2020 à 09:30:11  profilanswer
 

Si tu as un NAS Synology, tu peux utiliser l'appli Photo qui te fera tout ça gratuitement et très facilement ;)
Si tu pars sur une solution pure PHP, ça va fonctionner mais niveau ergonomie, ça va être une tannée de visualiser des photos surtout s'il y en a beaucoup dans le répertoire. Une surcouche Javascript ne serait pas du luxe. Peut-être regarder du côté de Wordpress avec un plugin "galerie".


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2344718
mechkurt
Posté le 17-01-2020 à 14:55:29  profilanswer
 

+1
Un wampserver, c'est pour bricoler un site en mode développement, c'est franchement pas fait pour être ouvert vers l’extérieur "en production" même si c'est réservé a tes contacts, en terme de sécurité, tu est forcé d'ouvrir le port 80 vers l’extérieur et il y'a en permanence des  machines qui scan ses ports.
Si tu n'as pas un NAS (avec lesquels en général la sécurité est pluôt bien géré), tu doit pouvoir trouver un petit hébergement gratuit (ton fournisseur d'accès t'en propose peut être un), ou alors Google Photo, Microsoft Onedrive...
 
Les performances seront sans commune mesure et les soucis en moins.


---------------
D3
n°2344760
damdam__33
Posté le 17-01-2020 à 21:53:16  profilanswer
 

Bonjour à tous,
 
j'ai un peu avancé de mon côté: le côté aléatoire était dû au cache non vidé de mon navigateur, en fait aucune photos ne s'affichent pas.
 
Quand le dossier contenant mes photos se trouvent dans dossier www de Wamp, les photos s'affichent correctement.
Par contre, si je précise un dossier hors de www, les photos sont trouvées mais non affichées. En cliquant sur les photos j'obtiens:
"Not Found
The requested URL was not found on this server. "
 
Y a-t-il un paramétrage à effectuer du côté Apache (ou autre) afin de pouvoir accéder à d'autres dossiers que ceux du serveur?
 
J'ai entendu parler des alias et des liens symboliques, mais soit je ne suis pas sûr que ça réponde à mon besoin, soit je ne sais pas le mettre en place...

n°2344761
damdam__33
Posté le 17-01-2020 à 21:57:28  profilanswer
 

Pour répondre à vos remarques, je crée ce site web car j'avais un compte google photos dont les 15Go gratuits sont pleins. J'ai beau supprimé des photos, l'espace libre ne s'actualise pas, je pars donc sur une solution maison.
Je me moque un peu du côté ergonomie, au pire je l'améliorerai avec le temps.

n°2344766
Hermes le ​Messager
Breton Quiétiste
Posté le 18-01-2020 à 12:02:22  profilanswer
 

damdam__33 a écrit :

Pour répondre à vos remarques, je crée ce site web car j'avais un compte google photos dont les 15Go gratuits sont pleins. J'ai beau supprimé des photos, l'espace libre ne s'actualise pas, je pars donc sur une solution maison.
Je me moque un peu du côté ergonomie, au pire je l'améliorerai avec le temps.


 
Tu ne lis pas ce qu'on t'a écrit. Avoir un serveur web WAMP hosté à la maison pour hoster des photos est une très mauvaise idée. L'explication t'en a été donné. Ouvrir le port 80 de sa machine pour cela est totalement irresponsable en terme de sécurité. Tu n'as aucun argument pour faire cela, et pour cause, il n'existe aucune raison sérieuse de faire cela.  
A la limite, tu pourrais encore nous dire : c'est pour apprendre le dev web, PHP, que sais-je... Et même là, il vaut 100 fois mieux avoir un hébergement payant quelque part pour hoster ensuite ses photos.
 
On t'a donné aussi une alternative qui est d'utiliser ton NAS qui lui, en sensé être bcp plus sécurisé et qui est prévu pour cela. Même comme cela, je trouve que laisser le port 80 ouvert sur son NAS depuis l'extérieur sans le limiter à la connexion à un VPN ou à une IP spécifique reste une mauvaise idée. C'est moins catastrophique que ton serveur web sous Windows, mais c'est pas terrible quand même.
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Affichage photos sur serveur web

 

Sujets relatifs
Serveur GLPILire une vidéo depuis un serveur sur un site Web
bash- recherche lignes dans bloc et affichage dans tableauCréer un bot qui travaille 24h/24 sur un serveur
Affichage variable selon page web[POWERSHELL] Récupérer les utilisateurs sur un serveur TSE
affichage de résutats surprenants !!!Bug affichage caractères corrompus Grecs dans suite Office
[PHASER] Problème affichage sur tablette 
Plus de sujets relatifs à : Affichage photos sur serveur web


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR