Diem: problemas con mayúsculas y minúsculas en las imágenes

En nuestro proyecto de diem, es posible que nos encontramos con que una vez pasado el proyecto a producción y empiezan los usuarios a usarlo, tengamos problemas con el nombre que estos dan a las imágenes al subirlas al panel de control.

Si usan un sistema operativo que distinga entre mayúsculas/minúsculas, los ficheros imagen.jpg e imagen.JPG son distintos. Hasta ahí todo correcto.

El problema es que si intentamos subir imagen.JPG a nuestro proyecto y ya existe un imagen.jpg nos mostrara un error.

La solución mas sencilla consiste en modificar el validador de imágenes del diem para añadir un sufijo (en este caso, añado un uniqid(), pero puede ser un timestamp) al nombre de la imagen, con lo que nos evitamos conflictos.

Para resolverlo, editamos el fichero /lib/vendor/diem/symfony/lib/validator/SfValidatorFile.class.php Y en la linea 111, añadimos:

else {
    $pos = strpos($value[''name''], ''.'');
    $value[''name''] = substr($value[''name''], 0, $pos). ''_'' . uniqid(). substr($value[''name''], $pos);    
}

después del if, de manera que quede así:

if (!isset($value[''name''])) {
    $value[''name''] = '''';
}
else {
    $pos = strpos($value[''name''], ''.'');
    $value[''name''] = substr($value[''name''], 0, $pos). ''_'' . uniqid(). substr($value[''name''], $pos);    
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir