Foros del Web » Programando para Internet » PHP »

poder sacar nombre del archivo de imagen a partir de su ruta

Estas en el tema de poder sacar nombre del archivo de imagen a partir de su ruta en el foro de PHP en Foros del Web. Hola a todos los amigos del foro: Estoy desarrollando una clase en PHP para borrar las imagenes que uno sube al servidor usando TinyMCE con ...
  #1 (permalink)  
Antiguo 12/07/2012, 14:28
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
poder sacar nombre del archivo de imagen a partir de su ruta

Hola a todos los amigos del foro:

Estoy desarrollando una clase en PHP para borrar las imagenes que uno sube al servidor usando TinyMCE con el plugin PHPIMAGE. Como podran suponer subir las imagenes usando TinyMCE es muy sencillo pero en caso de que el usuario por x o y circunstancia borre la imagen de la base de datos no quiere decir que la borre del servidor.

Para no alargarme demasiado ya casi la estoy terminando pero tengo un inconveniente para sacar el nombre completo con extensión y todo. Aquí pongo una versión simplificada, no corresponde a la clase que estoy diseñando pero la dejo para claridad de la duda que tengo y luego yo adaptarla.

Código PHP:
$txt '<img src="/inicio/tags/hola.gif" />
<img src
="/inicio/tags/megaupload.jpg" />
<img src="/inicio/tags/mediafire.jpg" />'

preg_match_all("/\<img src=\"\/inicio\/tags\/(\w+).(\w+)/"$txt$match);
echo 
"<pre>";
print_r($match[1]);
echo 
"</pre>"
y su salida me da algo asi

Cita:
array(
[0]=>hola
[1]=>megaupload
[2]=>mediafire
)
Por comodidad hasta ahora le he añadido posteriormente la extensión .jpg, pero como no puedo asegurar que siempre las imagenes seran .jpg (como en este ligero ejemplo que puse hola.gif a proposito) me gustaria saber si alguien me puede explicar como a partir de expresiones regulares se puede sacar el nombre completo con su extensión.

De antemano agradezco su colaboración prestada.
__________________
Blog de humor http://elcuasatar.net63.net/
  #2 (permalink)  
Antiguo 12/07/2012, 15:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: poder sacar nombre del archivo de imagen a partir de su ruta

El carácter de "." significa cualquier cosa, por lo que debes de escaparlo para poder hacer match de lo que necesitas.

Saludos.
  #3 (permalink)  
Antiguo 12/07/2012, 15:21
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: poder sacar nombre del archivo de imagen a partir de su ruta

Gracias GatorV por la respuesta. Por escribirlo aprisa se me olvido escribirlo escapado aca pero en el original si lo tengo escapado. He hecho estas dos formas pero siempre me retorna solo el nombre:

Código PHP:
preg_match_all("/\<img src=\"\/inicio\/tags\/(\w+)\.(\w+)/"$txt$match); 

y esta otra


preg_match_all
("/\<img src=\"\/inicio\/tags\/(\w+)\.jpg/"$txt$match); 
Pero en ambos casos me devuelve las imagenes sin extensión.
__________________
Blog de humor http://elcuasatar.net63.net/
  #4 (permalink)  
Antiguo 12/07/2012, 15:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: poder sacar nombre del archivo de imagen a partir de su ruta

Tú mismo le estas diciendo que son 2 sub patrones: (\w+)\.(\w+) tienes que hacerlo dentro del mismo, por ejemplo (\w+\.\w+).
  #5 (permalink)  
Antiguo 12/07/2012, 15:41
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: poder sacar nombre del archivo de imagen a partir de su ruta

Muchas gracias GatorV. Me fue de mucha ayuda tu colaboración. Dejo para cualquiera que le interese la solución.

Código PHP:
preg_match_all("/\<img src=\"\/inicio\/tags\/(\w+\.(jpg|gif|png))/i"$txt$match); 
__________________
Blog de humor http://elcuasatar.net63.net/

Etiquetas: imagenes, nombre, poder, ruta, usuarios
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 01:18.