1 Dernière modification par Cyberbob002 (25/03/2006 19h19m12s)

Sujet : Petit Hack pour ne gerer que les images sans erreurs ;)

J'ai mis le script sur mon mac et là boum ! cassé .. :'(
C'est dû à ce pu@&$*% de fichier .DS_store dans tout les répertoires.

Pour tout les fichiers qui ne sont pas gérés (c'est à dire tout sauf gif, jpg, et png) il faut remplacer

Fichier classes/util.class.php (ligne 211) :

    function advScanDir( $sDir, $sMode, $aFiltres = array() )
    {
        
        // creation du tableau qui va contenir les elements du dossier
        $aItemsDir = $aItemsFile = array();
        
        // ajout du slash a la fin du chemin s'il n'y est pas
        if( !preg_match( "/^.*\/$/", $sDir ) ) $sDir .= '/';
        
        // Ouverture du repertoire demande
        $handle = @opendir( $sDir );
        
        // si pas d'erreur d'ouverture du dossier on lance le scan
        if( $handle != false )
        {
            // Parcours du repertoire
            while( $sItem = readdir($handle) )
            {
                if($sItem != '.' && $sItem != '..' && !in_array( $sItem, $aFiltres ) )
                {
                    
                    if( is_dir( $sDir.$sItem ) )
                        $aItemsDir[] = $sItem;
                    else
                        $aItemsFile[] = $sItem;
                    
                }
            }
...
...

par :

    function advScanDir( $sDir, $sMode, $aFiltres = array(), $aFiltreExt = array() )
    {
        
        // creation du tableau qui va contenir les elements du dossier
        $aItemsDir = $aItemsFile = array();
        
        // ajout du slash a la fin du chemin s'il n'y est pas
        if( !preg_match( "/^.*\/$/", $sDir ) ) $sDir .= '/';
        
        // Ouverture du repertoire demande
        $handle = @opendir( $sDir );
        
        // si pas d'erreur d'ouverture du dossier on lance le scan
        if( $handle != false )
        {
            // Parcours du repertoire
            while( $sItem = readdir($handle) )
            {
                $aExplode = explode( '.', $sItem );
                $sExt = strtolower( $aExplode[sizeof( $aExplode ) - 1] );
            
                if($sItem != '.' && $sItem != '..' && !in_array( $sItem, $aFiltres ) )
                {
                    
                    if( is_dir( $sDir.$sItem ) )
                        $aItemsDir[] = $sItem;
                    elseif (empty($aFiltreExt) || in_array($sExt, $aFiltreExt)) 
                        $aItemsFile[] = $sItem;
                }
            }

Ensuite, dans le fichier explore.php (ligne 230)

$mResultat = $oOutils->advScanDir( $sDossierLecture.'/'.$aListeRepPhotos['dir'][$i], 'TOUT', array( $sNomDossierMiniatures ) );

Par :

$mResultat = $oOutils->advScanDir( $sDossierLecture.'/'.$aListeRepPhotos['dir'][$i], 'TOUT', array( $sNomDossierMiniatures ) , array('jpg', 'jpeg', 'jpe', 'gif', 'png') );

Et voila !

----------------------------------------------------------------------------------------------------------------------------
On peut être intelligent toute sa vie et stupide un instant.

WWW


Warning: count(): Parameter must be an array or an object that implements Countable in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/forums/include/parser.php on line 820

Re : Petit Hack pour ne gerer que les images sans erreurs ;)

Bonjour,

Est-ce que ce bout de code à un lien avec mon souci, à savoir proposer des vidéos aux internautes en plus des photos?
Je m'excuse à l'avance si ma question parait incongrue !
Merci.
Arnaud

Courir est un privilège que les gens ponctuels n'ont jamais su apprécier

Re : Petit Hack pour ne gerer que les images sans erreurs ;)

Tu fais référence à ça ?

arnaud a écrit:

Comment faire pour mettre des vidéos sur un album? y a-t-il beaucoup de choses à changer dans les fichiers php? de nouveaux fichiers à créer? etc..?
Je pense que de plus en plus les gens prennent des photos et des vidéos...donc peut-être d'autres personnes seront intéressées.

Tu as 2 possibilités : tu te sert d'AlBulle 
* comme centre de téléchargement : tu affiches une photo et elle pointe vers une vidéo quand tu cliques dessus (ça fonctionne déjà)
* pour afficher dans la même galerie des photos et des vidéos (ça ne fonctionnne pas encore)

Je pense (de ce que j'ai compris) que tu souhaite la deuxième possibilité.

Le code qui est au dessus permet juste de de "zapper" tous les fichiers, contenus à partir du dossier "photos", qui ne sont pas des images. Exemple : si tu as mis un fichier texte dedans alors il n'est pas pris en compte.

Donc je ne pense pas que c'est ce que tu souhaites. Désolé.

Cyb.

----------------------------------------------------------------------------------------------------------------------------
On peut être intelligent toute sa vie et stupide un instant.

WWW

Re : Petit Hack pour ne gerer que les images sans erreurs ;)

Merci pour ton astuce Cyb. J'ai déjà fait les changements pour la nouvelle version d'AlBulle (j'ai fait plus simple : j'ai directement amélioré ma fonction de scan pour que je puisse filtrer par extension).

Et donc même réponse pour Arnaud : pour l'instant pas de gestion des vidéos. Je fini avec les images et seulement après je penserai à la vidéo !

-------------------------------
"Keyboard not detected, press a key to continue..."

WWW

Re : Petit Hack pour ne gerer que les images sans erreurs ;)

Je faisais bien référence à un de mes post smile

OK, dommage pour le double affichage photos/vidéos.
Néanmoins je n'avais jamais compris jusque là la notion de "centre de téléchargement", donc un grand merci pour ta précision et ta concision !

Je vais essayer de mettre cette première possibilité en oeuvre.
ça suffira sans doute pour mes modestes besoins !

Encore Merci!
Tschüss
aRnaud

Courir est un privilège que les gens ponctuels n'ont jamais su apprécier

Re : Petit Hack pour ne gerer que les images sans erreurs ;)

SamRay1024 a écrit:

j'ai fait plus simple : j'ai directement amélioré ma fonction de scan pour que je puisse filtrer par extension

Euh ... C'est ce que j'ai fais !! smile J'ai mis beaucoup de code pour que l'on se repère bien mais il y a que 4 lignes à changer wink

>arnaud : comme a dis le chef ça arrive ...  patience !

----------------------------------------------------------------------------------------------------------------------------
On peut être intelligent toute sa vie et stupide un instant.

WWW

Re : Petit Hack pour ne gerer que les images sans erreurs ;)

Oups désolé, j'ai pas les yeux en face des trous big_smile J'étais parti loin....Je sors.

-------------------------------
"Keyboard not detected, press a key to continue..."

WWW

Re : Petit Hack pour ne gerer que les images sans erreurs ;)

Reviens j'ai une idée au passage wink
Je ne sais pas comment tu as fait le nouveau code mais il serai interessant que tu utilises les fonctions de détection de la librairie GD que tu as mis dans rootulle pour le choix des extensions à filtrer. Je pense surtout au GIF.

Autre chose aussi qui n'a rien à voir mais qui pourait être sympa : le dossier qui est créé pour les miniatures est très chiant à supprimer sur un FTP (constat wink). Pourquoi ne pas créer directement un dossier "miniatures" au même niveau que celui de "photos" ainsi il n'y a pas de problème de "umask" sur les serveurs à la création à la volée vu qu'il est déjà créé (c'est que les dossiers qui posent problème). Étant donné que tu connais la cible tu n'as pas à te soucier du nombre de fichier à l'interieur de celui-ci.

That's all !

----------------------------------------------------------------------------------------------------------------------------
On peut être intelligent toute sa vie et stupide un instant.

WWW