Foros del Web » Programando para Internet » PHP »

Cambiar extensión a minúscula.

Estas en el tema de Cambiar extensión a minúscula. en el foro de PHP en Foros del Web. Hola todos. Necesito ayuda de alguien que sepa un poco de PHP. En principio, me apareció un problema que (ahora descubro) es muy común : ...
  #1 (permalink)  
Antiguo 07/07/2012, 16:07
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 6 meses
Puntos: 317
Pregunta Cambiar extensión a minúscula.

Hola todos.

Necesito ayuda de alguien que sepa un poco de PHP.

En principio, me apareció un problema que (ahora descubro) es muy común : en una página web dejaron de verse varias imágenes.

Revisé que estuvieran en su carpeta, y que la ruta no se hubiese arruinado. Todo estaba bien, salvo por el detalle que la extensión *.jpg, en algunas era *.JPG.
Entonces supuse (y después confirmé) que PHP es case-sensitive. No tengo idea de cómo pasó de un día para el otro, pero unas 50 imágenes (salteadas) se cambiaron a mayúscula en la extensión.
Edité una a mano, y confirmé que ya aparecía.

El sitio está provisorio, hay que hacerlo de nuevo, pero mientras tanto se tiene que ver igual.
Así que empecé a buscar cómo "renombrar" los .jpg en la carpeta (de momento parece que es una solamente). El sitio no me provee una herramienta, así que empecé a buscar una solución en el código.

La quise hacer fácil en el htaccess, y encontré ForceType image/jpg, pero eso cambia la extensión. Y algunas son *.gif, o *.png. Lo descarté.

En PHP existe strtolower(), pero como como todo esto es "provisorio" y "para ayer", no voy a ponerme a estudiar PHP para escribir las líneas del condicional que me extraiga y convierta a minúsculas la extensión. (No sé si lo comenté, pero no entiendo nada de PHP).

Entonces hice algo que no me gusta, que es buscar algo pre-hecho, porque ya sé que es un drama común, y alguien lo tenía que haber resuelto.

Aquí es donde necesito ayuda. Encontré en http://nideaderedes.urlansoft.com/20...hivos-con-php/ un código que parece hacer lo que busco.


Código:
// Corregir las extensiones de los ficheros de imágenes. Cambiar las extensiones en mayúsculas por minúsculas.

$directorio_imagenes = 'images/';
if ($directorio = dir($directorio_imagenes))
{
	while ($fichero = $directorio->read())
	{
		$info_fichero = pathinfo($fichero);
		// Si la extensión no está en minúsculas ponerla en minúsculas
		if (isset($info_fichero['extension']) && $info_fichero['extension']!=strtolower($info_fichero['extension']))
		{
			$info_fichero['basename_we'] = substr($info_fichero['basename'], 0, -(strlen($info_fichero['extension']) + ($info_fichero['extension'] == '' ? 0 : 1)));
			rename(
				$directorio_imagenes . $info_fichero['basename'],
				$directorio_imagenes . $info_fichero['basename_we'] . '.' . strtolower($info_fichero['extension'])
				);
			echo '<br/>' . $info_fichero['basename'] . ' cambiado.';

		}
	}
}
Mi pregunta es : ¿ven algo muy claro en ese código que sea una falla grave, que no pueda funcionar, o que arruine los documentos? Porque uno de los motivos por los que no traigo, ni recomiendo, y por lo general ni uso estos ejemplos es que no tienen "garantía". Casi siempre prefiero escribirlos yo; pero no voy a aprender PHP para esto.
Lo que voy a hacer, si no hay un riesgo evidente, es buscar donde se pone en el sitio, y probarlo. Ya esa búqueda me va a llevar un buen tiempo, pero supongo que será menos que confirmar si cada imagen va en mayúscula o minúscula y eventualmente reescribirla a mano.

Elegí ése, porque supongo que en realidad no cambia los archivos, sino que los "lee" y los "entrega" con la extensión cambiada. Si resulta que me inutiliza muchos más que usan mayúsculas, lo borro y que quede como estaba ... y empiezo el trabajo manual.

No voy al Foro de Ofertas de Trabajo, porque —insisto— es algo provisorio y no me van a aprobar el pago ni de eso. Cuando haya que rehacer la página, la historia será distinta.

Gracias.
furoya
  #2 (permalink)  
Antiguo 07/07/2012, 19:59
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Cambiar extensión a minúscula.

Cita:
En PHP existe strtolower(), pero como como todo esto es "provisorio" y "para ayer", no voy a ponerme a estudiar PHP para escribir las líneas del condicional que me extraiga y convierta a minúsculas la extensión.
Cita:
Porque uno de los motivos por los que no traigo, ni recomiendo, y por lo general ni uso estos ejemplos es que no tienen "garantía". Casi siempre prefiero escribirlos yo; pero no voy a aprender PHP para esto.
Cita:
No voy al Foro de Ofertas de Trabajo, porque —insisto— es algo provisorio y no me van a aprobar el pago ni de eso. Cuando haya que rehacer la página, la historia será distinta.
Si no sabes PHP, ni quieres aprenderlo, ni quieres probar un código, ni quieres ir al foro de ofertas de trabajo: ¿Que si quieres hacer? Opciones existen muchas pero si no pones de tu parte nadie lo va a hacer por ti.

Cita:
Elegí ése, porque supongo que en realidad no cambia los archivos, sino que los "lee" y los "entrega" con la extensión cambiada. Si resulta que me inutiliza muchos más que usan mayúsculas, lo borro y que quede como estaba ... y empiezo el trabajo manual.
Pues supones mal, el programa renombra el archivo. Igual si en verdad no sabes nada de PHP no te recomiendo que lo uses, no porque sea dificil de implementar o porque no funcione sino que si no te sientes comodo en el lenguaje hacerle la mas minima modificación para adaptarlo a tu necesidad supondria un suplicio que no te compensaria haberlo encontrado gratis.


Para no hacer el cuento mas largo si te da miedo dañar los archivos pues crea una simple y llana copia de seguridad.

Renombrar se puede hacer usando linux, con programas gratis en internet, con D.O.S, etc. Busca la que mas se facilite y aplicala. Si te equivocas y dañas algo siempre tendras el respaldo de la copia.

Al parecer este programa funciona para lograr tal fin, pero igual es cosa de probarlo. Puedes bajar las imagenes a tu compu, las renombras y las vuelves a subir por ftp. Yo en esto creo que uno debe hacerse la vida facil y creo que para tu caso esta seria la solución mas viable.

http://www.den4b.com/?x=products&product=renamer

Ojala y esto ayude a resolver tu problema.
__________________
Blog de humor http://elcuasatar.net63.net/

Última edición por cuasatar; 07/07/2012 a las 20:30
  #3 (permalink)  
Antiguo 07/07/2012, 22:12
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 6 meses
Puntos: 317
Respuesta: Cambiar extensión a minúscula.

Cita:
Iniciado por cuasatar Ver Mensaje
Si no sabes PHP, ni quieres aprenderlo, ni quieres probar un código, ni quieres ir al foro de ofertas de trabajo: ¿Que si quieres hacer? Opciones existen muchas pero si no pones de tu parte nadie lo va a hacer por ti.

En realidad ya lo expliqué, y justamente lo estoy haciendo yo.


Pues supones mal, el programa renombra el archivo. Igual si en verdad no sabes nada de PHP no te recomiendo que lo uses, no porque sea dificil de implementar o porque no funcione sino que si no te sientes comodo en el lenguaje hacerle la mas minima modificación para adaptarlo a tu necesidad supondria un suplicio que no te compensaria haberlo encontrado gratis.

Ése es un buen dato. Lo empecé a sospechar después del posteo, pero esperaba que alguien me lo confirmara.
Lo de que sea gratis o no debe ser alguna interpretación tuya de alguna línea de mi mensaje, que yo no comprendo. Y lo de meterme a desarmar para aprender ... ya estoy acostumbrado; así llegué a este Foro.
Lo que no tengo es mucha voluntad por la página que tengo que "arreglar", si hay algún parche rápido lo uso, no por una cuestión de principios, sino de coyuntura.



Para no hacer el cuento mas largo si te da miedo dañar los archivos pues crea una simple y llana copia de seguridad.

Sí. Otra buena recomendación. Gracias.
Si uso un programa para modificar archivos, lo voy a hacer.
De hecho, nunca dije que no lo haría.



Renombrar se puede hacer usando linux, con programas gratis en internet, con D.O.S, etc. Busca la que mas se facilite y aplicala. Si te equivocas y dañas algo siempre tendras el respaldo de la copia.

Perfecto. Lo que no me da las ganas es de ponerme a buscar, probar, estudiar cómo funciona y etcéteras algo que quizá use solamente una vez en la vida.


Al parecer este programa funciona para lograr tal fin, pero igual es cosa de probarlo. Puedes bajar las imagenes a tu compu, las renombras y las vuelves a subir por ftp. Yo en esto creo que uno debe hacerse la vida facil y creo que para tu caso esta seria la solución mas viable.

http://www.den4b.com/?x=products&product=renamer


Bueno, lo de bajarlas al disco y modificarlas ahí en vez del host con cualquier aplicación es algo que no se me ocurrió.
Juro que no se me ocurrió. Y me preocupa.



Ojala y esto ayude a resolver tu problema.

Absolutamente. Me estaba ahogando en una gota de agua.
Lo voy a editar a mano.
Al fin y al cabo ni siquiera es mi trabajo, lo hago porque alguien tiene que hacerlo, y el responsable... no sé, por ahí anda.

Ya prefiero hacer trabajo repetitivo escuchando una radio de canto gregriano que encontré (amo internet, hay cualquier cosa) y no seguir buscando soluciones "rápidas" que me demoran más y me obligan a estudiar lo que realmente no necesito.

Igual voy a mirar la aplicación que me recomendaste.

Gracias de nuevo por toda la data.
  #4 (permalink)  
Antiguo 08/07/2012, 23:48
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Cambiar extensión a minúscula.

De verdad me alegra que te haya servido mi respuesta. Al leer tu post me di cuenta que como tu bien lo dices te estabas ahogando en un vaso con agua. A todos nos suele pasar y es bueno tener al lado alguien con la cabeza fría para que nos ayude a ver el problema bajo otra perspectiva.

Creeme que es una buena opción esos programas para cambiar el nombre. Una amiga usaba uno que no recomende porque no recuerdo su nombre ahora pero era tan sencillo como buscar: xxx reemplazar por yyy y le ahorraba millones de dolores de cabeza. Ese que te pase no lo conozco pero seguro te ayudara a resolver tu problema.
__________________
Blog de humor http://elcuasatar.net63.net/

Etiquetas: imagenes
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:47.