Foros del Web » Programando para Internet » PHP »

input type file, quitar la ruta antes de insertar en base de datos

Estas en el tema de input type file, quitar la ruta antes de insertar en base de datos en el foro de PHP en Foros del Web. Hola , necesito ayuda en un insert que hago a una base de datos del valor de un campo input type="file" . si el formulario ...
  #1 (permalink)  
Antiguo 01/07/2008, 22:43
Avatar de punk567  
Fecha de Ingreso: septiembre-2006
Ubicación: Montevideo
Mensajes: 265
Antigüedad: 18 años, 1 mes
Puntos: 5
input type file, quitar la ruta antes de insertar en base de datos

Hola , necesito ayuda en un insert que hago a una base de datos del valor de un campo input type="file" . si el formulario se envia desde firefox . el valor que se inserta en la base de datos en un campo char, es: ejemplo.jpg . pero desde IE7 , el valor es por ejemplo c:/escritorio/usuario/ejemplo.jpg, hay alguna manera de que en IE7 inserte solamente el nombre de archivo , y no toda la ruta.

Saludos
  #2 (permalink)  
Antiguo 02/07/2008, 08:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: input type file, quitar la ruta antes de insertar en base de datos

Hola punk567,

Puedes usar basename() sobre la variable, eso te devolverá el archivo sin el path.

Saludos.
  #3 (permalink)  
Antiguo 02/07/2008, 10:50
Avatar de punk567  
Fecha de Ingreso: septiembre-2006
Ubicación: Montevideo
Mensajes: 265
Antigüedad: 18 años, 1 mes
Puntos: 5
Respuesta: input type file, quitar la ruta antes de insertar en base de datos

HOla GatorV, muchas gracias, no funcionó en este caso, porque lo que devuelve en realidad es:

C:\\Users\\alejandro\\Desktop\\Oryx-Antelope.jpg , con esas dobles barra, habrá que usar una función split() o algo asi? voy a seguir leyendo el foro...
  #4 (permalink)  
Antiguo 02/07/2008, 14:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: input type file, quitar la ruta antes de insertar en base de datos

En ese caso podrías usar explode() para romper la cadena y tomar el ultimo elemento que seria el nombre del archivo.

Saludos.
  #5 (permalink)  
Antiguo 02/07/2008, 14:48
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 8 meses
Puntos: 52
Respuesta: input type file, quitar la ruta antes de insertar en base de datos

Hola

GatorV. y si la ruta puede cambiar, y haber mas carpetas, osea, que la ruta no sea siempre igual, con explode se puede saber cual es el ultimo elemento del array o habria que contarlos y de alguna forma saber cual es el ultimo elemento del array??

Un saludo

Última edición por jaronu; 02/07/2008 a las 15:07
  #6 (permalink)  
Antiguo 02/07/2008, 14:59
Avatar de punk567  
Fecha de Ingreso: septiembre-2006
Ubicación: Montevideo
Mensajes: 265
Antigüedad: 18 años, 1 mes
Puntos: 5
Respuesta: input type file, quitar la ruta antes de insertar en base de datos

el tema es que no puedo escapar la barra invertida de windows...
  #7 (permalink)  
Antiguo 02/07/2008, 15:08
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 8 meses
Puntos: 52
Respuesta: input type file, quitar la ruta antes de insertar en base de datos

como que no puedes escapar la barra invertida, que quieres decir con eso???
  #8 (permalink)  
Antiguo 02/07/2008, 15:10
Avatar de punk567  
Fecha de Ingreso: septiembre-2006
Ubicación: Montevideo
Mensajes: 265
Antigüedad: 18 años, 1 mes
Puntos: 5
Respuesta: input type file, quitar la ruta antes de insertar en base de datos

parece que funcionó bien con basename();

$path = $_REQUEST[archivo];
$cadena = ereg_replace("\\\\", "/", $path);
$narchivo = basename($cadena);

saludos;

(como odio ser novato)
  #9 (permalink)  
Antiguo 02/07/2008, 15:17
Avatar de punk567  
Fecha de Ingreso: septiembre-2006
Ubicación: Montevideo
Mensajes: 265
Antigüedad: 18 años, 1 mes
Puntos: 5
Respuesta: input type file, quitar la ruta antes de insertar en base de datos

Cita:
Iniciado por jaronu Ver Mensaje
como que no puedes escapar la barra invertida, que quieres decir con eso???
Hola jaronu, gracias por el mensaje..juro que no habia visto hasta responder el anterior..

al reemplazar la barra de windows: \

lo ponia asi: ereg_replace("\", "/", $path); y daba error.

no se si es correcto o no, pero asi si funciona: ereg_replace("\\\\", "/", $path);

saludos
  #10 (permalink)  
Antiguo 02/07/2008, 19:30
GPS
 
Fecha de Ingreso: diciembre-2003
Ubicación: Montevideo, Uruguay
Mensajes: 110
Antigüedad: 20 años, 11 meses
Puntos: 0
Respuesta: input type file, quitar la ruta antes de insertar en base de datos

Si guardas en la base de datos la varibale $_FILE['nombre_del_input']['name'], esa variable te tiene que arrojar el nombre del archivo sin la ruta....
Saludos
  #11 (permalink)  
Antiguo 02/07/2008, 19:42
Avatar de punk567  
Fecha de Ingreso: septiembre-2006
Ubicación: Montevideo
Mensajes: 265
Antigüedad: 18 años, 1 mes
Puntos: 5
Respuesta: input type file, quitar la ruta antes de insertar en base de datos

gracias GPS, bastante menos codigo
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 22:38.