Bonjour,
Perso, j'ai pas trouvé la solution et j'ai pas réussi à mettre en application les codes proposés.
Avez vous été plus efficasse que moi?
a+
PHILPHIL21 a écrit:
Bonjour,
Perso, j'ai pas trouvé la solution et j'ai pas réussi à mettre en application les codes proposés.
Avez vous été plus efficasse que moi?
a+
Personnellement je n'ai pas essayé :-(
Hors ligne
Tcherno a écrit:
Sinon, un commentaire d'expérience : le plus simple c'est toujours des noms de fichiers composés dans espace, ni accent, ni les caractères utilisés classiquement par IP tel que les points, les barres obliques etc.
C'est très intelligent....
Quand vous avez 13 Go de photos déjà classées et que vous installez Piwigo, vous n'allez pas quand même reprendre tous les répertoires un par un et renommer les fichiers parce que le soft est mal foutu !
Moi, j'ai par exemple un fichier photos qui s'appelle :
/media/usb2/public/Photos/2003/juin 01/vacances Ardèche 1/divers photos 033.jpg
Je fais quoi ???
Je choisi un autre soft.
Maisondouf a écrit:
Quand vous avez 13 Go de photos déjà classées et que vous installez Piwigo, vous n'allez pas quand même reprendre tous les répertoires un par un et renommer les fichiers parce que le soft est mal foutu !
Le soft est mal foutu...
Il y a des façons plus élégantes pour dire que certaines choses ne sont pas pratiques et méritent peut être d'évoluer...
Pour ma part, de voit quelqu'un dénigrer le tout le reste du boulot effectué sur un détail, çà ne m'incite pas à donner une réponse sur la façon dont tu pourrais procéder pour contourner le problème.
Maisondouf a écrit:
Je choisi un autre soft.
C'est effectivement une solution.
Hors ligne
Maisondouf a écrit:
Quand vous avez 13 Go de photos déjà classées et que vous installez Piwigo, vous n'allez pas quand même reprendre tous les répertoires un par un et renommer les fichiers parce que le soft est mal foutu !
En l'occurence, "le soft" n'y est pour rien. Ce sont les standards du web qui impose cela à la base. Si Votre Windows ne "trichait" pas, vous auriez bien plus de problèmes avec vos fichiers.
Mais rien n'empêche de conserver votre nommage en local et d'en adopter un spécifiquement pour la mise en ligne.
Maisondouf a écrit:
Moi, j'ai par exemple un fichier photos qui s'appelle :
Code:
/media/usb2/public/Photos/2003/juin 01/vacances Ardèche 1/divers photos 033.jpgJe fais quoi ???
Je choisi un autre soft.
Une application Web qui gère les noms de fichiers "exotiques", pas certain que çà existe (je peux me tromper). Ceci dit, avant tout, j'aurais essayé des outils comme XNview pour effectuer, par exemple, des renommages par lot des fichiers avant transfert (par FTP ou par pLoader).
Hors ligne
Hors ligne
Bon, avec un peu de réflexion, j'ai pondu un correcteur de noms
#!/bin/sh # renommage des fichiers et des répertoires qui ont des espaces dans leur nom # remplacement de ' ' par '_' change_blanc() { [ -d "$1" ] || { echo "erreur: vous devez donner un nom de répertoire" ; exit 1 ; } if [ "`echo $1 | grep ' '`" != "" ]; then NOUVEAU=`echo $1 | sed 's/ /_/g'` echo "$MYDIR/($1) --- $NOUVEAU" mv "$1" "$NOUVEAU" else NOUVEAU=$1 fi echo ; echo "Exploration de $NOUVEAU." # changement vers $1 cd "$NOUVEAU" # sauvegarde répertoire de départ local MYDIR="${PWD}" for FICHIER in * do if [ -d "${FICHIER}" ] ; then change_blanc "${FICHIER}" # retour répertoire du dessous cd "${MYDIR}" else if [ "`echo $FICHIER | grep ' '`" != "" ]; then NOUVEAU=`echo $FICHIER | sed 's/ /_/g'` echo "$MYDIR/($FICHIER) --- $NOUVEAU" mv "$FICHIER" "$NOUVEAU" fi fi done } change_blanc $1
Mais tanpis pour ceux qui ne sont pas sous linux...
N'est pas Eric ?
Eric a écrit:
En l'occurence, "le soft" n'y est pour rien. Ce sont les standards du web qui impose cela à la base. Si Votre Windows ne "trichait" pas, vous auriez bien plus de problèmes avec vos fichiers.
Mais les Windowsiens peuvent toujours utiliser un CD Live pour lancer ce scripte...
De même pour les vignettes...
#!/bin/sh # fabrication des vignettes vignette() { [ -d "$1" ] || { echo "erreur: vous devez donner un nom de répertoire" ; exit 1 ; } if [ "$1" != "thumbnail" ]; then echo ; echo "Exploration de $1." # changement vers $1 cd "$1" # sauvegarde répertoire de départ local MYDIR="${PWD}" for FICHIER in * do if [ -d "${FICHIER}" ] ; then vignette "${FICHIER}" # retour répertoire du dessous cd "${MYDIR}" else if [ "`echo $FICHIER | grep '.jpg'`" != "" ]; then if [ ! -d "thumbnail" ]; then mkdir "thumbnail"; fi; NOUVEAU="thumbnail/TN-$FICHIER" echo "$MYDIR/($FICHIER) --- $NOUVEAU" cp "$FICHIER" "$NOUVEAU" mogrify -resize 128 "$NOUVEAU" fi fi done fi } vignette $1
Bravo les gars ! Je suis épaté que des gens répondent poliment a d'autres qui croient tout savoir !
Hors ligne
PHILPHIL21 a écrit:
Le top serrait que piwigo remplace automatiquement les espaces par ? ( des _ ou des .) ou les suppriment tout simplement.
bonjour.
La modif peut se faire plus simplement au niveau du test:
Procédure pour synchroniser les répertoires et fichiers comportant des espaces:
A°)
1°)
Dans le fichier "admin/site_update.php"
Modif à faire ligne 234
pour les répertoires comportant des espaces:
if (preg_match('/^[a-zA-Z0-9-_.]+$/', str_replace(' ', '_', $dir)))
2°)
Modif à faire ligne 416
pour les noms de fichier comportant des espaces:
if (!preg_match('/^[a-zA-Z0-9-_.]+$/', str_replace(' ', '_', $filename)))
B°)
Dans le fichier:"admin/thumbnail.php"
Modif à faire ligne 216
if (!preg_match('/^[a-zA-Z0-9-_.]+$/', str_replace(' ', '_', $filename)))
A+
Dernière modification par cljosse (2010-09-15 07:48:08)
Hors ligne
@cljosse :
Je n'ai pas testé ces modifications mais est-ce que cela n'impacte pas le fonctionnement de Piwigo ? Surtout pour la génération de miniatures, pour l'affichage des images HD etc. ?
Hors ligne
Je n'ai pas testé sur la HD, mais pas de pb pour la création des miniatures.
Hors ligne
Tcherno a écrit:
+1 pour l'idée d'une correction directe en ligne... Si c'est possible.
Préférer un heurodatage, toujours utiles même si la date de prise de vue est dans les EXIF.
En passant, il est très facile d'enlever tous les "meta" d'un fichier de type jpg...
Je vous propose ce lien (le pire, c'est que c'est un gratuiciel... Attention aux sources le proposant, certaines sont plus que douteuses. Celle proposée a été vérifiée.):
http://www.gratilog.net/xoops/modules/m … p;lid=1949
Hors ligne
TiOger a écrit:
Tcherno a écrit:
+1 pour l'idée d'une correction directe en ligne... Si c'est possible.
Préférer un heurodatage, toujours utiles même si la date de prise de vue est dans les EXIF.En passant, il est très facile d'enlever tous les "meta" d'un fichier de type jpg...
Je vous propose ce lien (le pire, c'est que c'est un gratuiciel... Attention aux sources le proposant, certaines sont plus que douteuses. Celle proposée a été vérifiée.):
http://www.gratilog.net/xoops/modules/m … p;lid=1949
Ce n'est pas le sujet. XnView le fait très bien et c'est un logiciel sûre.
Hors ligne
j'aimerai pouvoir renommer les images lors du telechargement sur le site 'Ajouter une image' par les utilisateur, comme ça une fois l'image renommée le reste de la galerie fonctionne.
donc cela ce situe au niveau de la ligne 243 dans le fichier upload.php
if ( !preg_match( '/^[a-zA-Z0-9-_.]+$/', $_FILES['picture']['name'] ) )
{
array_push( $error, l10n('wrong filename') );
}
si je met ces ligne en commentaire, je peux alors charger une image, mais comme elle a un sale nom elle est détruite lors de la fabrication de la miniature, donc il faut bien la renommer ...
quelqu'un peut m'aider à modifier $_FILES['picture']['name'] ?
j'ai testé ça :
function suppr_accents($chaine) {
$accents = array('À','Á','Â','Ã','Ä','Å','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý','à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ï','ð','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ');
$sans = array('A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','O','O','O','O','O','U','U','U','U','Y','a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','o','o','o','o','o','o','u','u','u','u','y','y');
return str_replace($accents, $sans, $chaine);
}
if (!preg_match('/^[a-zA-Z0-9-_.]+$/', str_replace(' ','_',suppr_accents($_FILES['picture']['name'] ))))
cela fait comme si ça charge mais en changeant le nom je crois qu'il ne trouve plus l'image