visualiser des vignettes sur un serveur FTP

Démarré par omg.omg, Février 03, 2018, 14:50:27

« précédent - suivant »

omg.omg

Bonjour
Les derniers boitiers nous permettent des connexions wifi rapides d'une part, d'autre part les images doivent être disponibles de plus en plus vite.
J'utilise un 5D Mark 4 connecté à un serveur par le  FTP du boitier via le partage de connexion de mon téléphone (ou bien via un réseau wifi si dispo).
En bout de chaine mes collaborateurs peuvent observer le dossier des photos via un navigateur.
J'ai trouvé sur internet un bout de code PHP (copié dans un fichier nommé index.php placé dans le dossier du serveur qui recoit les photos) qui permet d'afficher les images dans le navigateur.
Mais j'ai deux soucis:
-les images n'arrivent pas dans l'ordre chronologique des fichiers (leurs numérotation est pourtant incrémentée par le boitier)
-les images s'affichent en taille réelle (trop grand pour des écrans 15 pouces standards)
Idéalement il faudrait un code qui crée des vignettes liées aux images à taille réelles.
L'idée est de rester dans un process leger et souple qui permet d'aller vite.
Je met ci dessous le code.
Merci à ceux qui maitrisent l'encodage ils pourront peut être nous aider.
<?php
$nb_fichier = 0;
echo '<ul>';
if($dossier = opendir('.'))
{
while(false !== ($fichier = readdir($dossier)))
{
if($fichier != '.' && $fichier != '..' && $fichier != 'index.php')
{
$nb_fichier++; // compteur de fichier

echo '<li><img src="' . $fichier . '"></li>';
} // On ferme le if (qui permet de ne pas afficher index.php, etc.)

} // On termine la boucle
echo '</ul>
';
echo 'Il y a ' . $nb_fichier .' fichier(s) dans le dossier';

closedir($dossier);

}

else
echo 'Le dossier n\' a pas pu être ouvert';
?>

SeSy

Si tu peux gérer du PHP, ton serveur n'est pas que FTP.
Qu'est-ce qui tourne d'autre dessus ?
Sur fond noir...

eric_p

La fonction readdir() ne permet pas de restituer la liste des fichiers selon un ordre particulier mais seulement selon leur ordre d'enregistrement: http://php.net/manual/fr/function.readdir.php
Pour obtenir le résultat souhaité, il faudrait stockée dans une liste l'ensemble des fichiers puis effectuer un tri. A voir si sur le net il n'y a pas déjà du code à récupérer.

Pour le redimensionnement, il est possible de limiter l'affichage en complétant la balise 'img' avec les attributs 'height' et 'width'. Mais cela n'est pas très optimisé. Le mieux est de générer en PHP des vignettes avec la fonction imagecopyresampled().