PHP - explode al renombrar archivo

   
Vista:

explode al renombrar archivo

Publicado por informatic (13 intervenciones) el 24/04/2017 06:03:09
Buenas...

Quiero poder renombrar un archivo que ya se encuentre repetido, si bien logro realizar el renombre con rename, me surge una duda...

Antes de renombrar un archivo, que puede tener nombres como archivo.docx o archivo.doc, necesito separar la extension con el nombre de archivo, es decir, [archivo].[docx], para eso utilizo

1
2
$archivo = 'archivo.doc';
$extension = explode('.',$archivo);

Con $extension[1]; puedo obtener el 'doc' sin problemas...
Pero mi problema es si este documento fuera archivo.archivo.doc o archivo.archivo.docx
que el nombre tuviera puntos entre medio. nose si es posible solo mantener el ultimo punto de extension para que me devuelva doc o docx.

Espero haberme explicado bien, desde ya muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip

explode al renombrar archivo

Publicado por kip (868 intervenciones) el 24/04/2017 06:39:18
Hola, puedes usar expresiones regulares algo asi:

1
2
3
$nombre = 'archivo.archivo.docx';
preg_match("/\.(\w+)$/", $nombre, $match);
echo $match[1];

Aunque si estas manejando archivos y directorios puedes usar pathinfo()

1
2
$infoarchivo= pathinfo('var/www/html/archivos/archivo.archivo.docx');
echo $infoarchivo['extension'];

http://php.net/manual/es/function.pathinfo.php

Prueba alguno de los dos y nos cuentas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

explode al renombrar archivo

Publicado por informatic (13 intervenciones) el 25/04/2017 03:54:57
Muchas gracias kip, el primero me ha funcionado, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad