Bonjour,
J'ai eu aussi le même problème et j'ai trouvé comme logiciel sous windows "ant renamer" (http://www.antp.be/software/renamer/fr)
En espérant que ça puisse aider....
Nemehy
Bonjour,
Je voulais juste signaler que j'ai trouvé un utilitaire appelé "detox" (http://detox.sourceforge.net/) qui fait très bien le ménage dans les noms de fichier.
Il tourne sous linux, mais le source est dispo et peut sans doute être adapté. Il a l'avantage de gérer tous les types de caracères.
jdd
mathiasm a écrit:
est-ce que cette fonctionnalité sera disponible pour la synchro post-FTP ?
non.
Il faudrait faire une campagne de test dans des environnements variés pour valider qu'on peut avoir des noms de fichiers avec des caractères "exotiques". Là c'est plus "détourné", car le nom du fichier est normé par la tant décriée règle <année><mois><jour><heure><minute><seconde>-<random>.jpg et on stocke en base le nom original.
est-ce que cette fonctionnalité sera disponible pour la synchro post-FTP ?
Pour info, ce problème disparaîtra (j'espère en 2.2) quand le formulaire d'ajout de photo de l'administration sera également disponible pour les visiteurs. Il accepte les accents français, mais aussi les caractères russes ou chinois dans les noms de fichier.
le message du forum à couper ma ligne trop grande
alors je la reposte ->
$_FILES['picture']['name']=str_replace(array(' ','$','^','¨','*','~','@','°','+','=','}',']','|','[','(','{','#',
'²','<','>','%','!','?',',',';',':','à','á','â','ã','ä','ç','è','é','ê','ë','ì','í','î','ï','ñ','ò','ó','ô','õ','ö','ù','ú','û','ü','ý',
'ÿ','À','Á','Â','Ã','Ä','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ñ','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý'),array('_','_','_','_',
'_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','a','a','a','a','a','c','e','e','e','e','i',
'i','i','i','n','o','o','o','o','o','u','u','u','u','y','y','A','A','A','A','A','C','E','E','E','E','I','I','I','I','N','O','O','O','O',
'O','U','U','U','U','Y'),utf8_decode(substr(stripslashes($_FILES['picture']['name']),0,40)));
Merci pour cette réponse très rapide, mais je ne vais pas attendre.
Pour ceux qui ne veulent pas attendre voici la modif que j'ai faite et un peu testé, enfin un visiteur peu avec cette modif upoloader une image avec accents et espace et plus...
donc dans le fichier upload.php j'ai inclus la ligne suivante
$_FILES['picture']['name']=str_replace(array(' ','$','^','¨','*','~','@','°','+','=','}',']','|','[','(','{','#','²','<','>','%','!','?',',',';',':','à','á','â','ã','ä','ç','è','é','ê','ë','ì','í','î','ï','ñ','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ','À','Á','Â','Ã','Ä','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ñ','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý'),array('_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','a','a','a','a','a','c','e','e','e','e','i','i','i','i','n','o','o','o','o','o','u','u','u','u','y','y','A','A','A','A','A','C','E','E','E','E','I','I','I','I','N','O','O','O','O','O','U','U','U','U','Y'),utf8_decode(substr(stripslashes($_FILES['picture']['name']),0,40)));
à la ligne 177 ici ->
//-------------------------------------------------------------- picture upload
// verfying fields
if ( isset( $_POST['submit'] ) and !isset( $_GET['waiting_id'] ) )
{
$_FILES['picture']['name']=str_replace(array(' ','$','^','¨','*','~','@','°','+','=','}',']','|','[','(','{','#','²','<','>','%','!','?',',',';',':','à','á','â','ã','ä','ç','è','é','ê','ë','ì','í','î','ï','ñ','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ','À','Á','Â','Ã','Ä','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ñ','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý'),array('_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','_','a','a','a','a','a','c','e','e','e','e','i','i','i','i','n','o','o','o','o','o','u','u','u','u','y','y','A','A','A','A','A','C','E','E','E','E','I','I','I','I','N','O','O','O','O','O','U','U','U','U','Y'),utf8_decode(substr(stripslashes($_FILES['picture']['name']),0,40)));
$path = $category['cat_dir'].$_FILES['picture']['name'];
if ( @is_file( $path ) )
{
Un pro pourra peu être nous donner sont avis, mais je pense que cela fonctionne bien.
Nous n'avons pas de dates mais cette fonctionnalité va évoluer et vos visiteurs n'en seront que plus heureux.
Je sais ça ne répond pas à votre question, c'était pour information ;-)
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
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.
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
Je n'ai pas testé sur la HD, mais pas de pb pour la création des miniatures.
@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. ?
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+
Bravo les gars ! Je suis épaté que des gens répondent poliment a d'autres qui croient tout savoir !