PHP - Problema input type="file"

 
Vista:

Problema input type="file"

Publicado por htmlman (2 intervenciones) el 09/09/2006 01:52:16
¡Hola a todos foreros!
Estoy intentando actualizar una base de datos mediante la instruccion de mysql
"load data local infile '[aqui ruta del fichero]' into table..." insertadada en un script PHP.
El problema esta en que la ruta del fichero la quiero coger mediante un input de HTML, es decir,
con la siguiente etiqueta:

<input name="fichero" id="ruta_fichero" type="file">

El problema esta en que este metodo solo me devuelve el nombre del
fichero, no su nombre y ruta completa. He probado tambien a poner en
le etiqueta form:

enctype="application/x-www-form-urlencoded"

porque buscando por internet he visto algunas personas a las que les ha pasado lo mismo y
le han sugerido que añadisen ese atributo. A mi lo unico que me ha hecho ha
sido devolverme una ruta que no es, y, por ende, mantener el mismo problema.

Esto es para un trabajo y si lo consiguiera resolver me ayudaria muchisimo.

Cualquier solucion me vale, ya sea un script java, vbscrip, php... por cierto, esto mismo
lo hace phpMyAdmin, asi que posible es. Esto intentando comprender el codigo de esta aplicacion,
pero tampoco tengo mucho tiempo.

Gracias mil de antemano por vuestro tiempo.
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

RE:Problema input type=

Publicado por maxter (205 intervenciones) el 09/09/2006 21:51:49
Lo que debes hacer es cambiarle la codificación al formulario por

enctype="multipart/form-data"

saludos Yoandy
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

RE:Problema input type=

Publicado por htmlman (2 intervenciones) el 10/09/2006 15:55:24
Un millon de gracias, Yoandy. Ya habia probado eso, y no me funcionaba. Pero al volver a decirmelo tu, revise el script,y di con el error, veras, el codigo que usaba era este:

if (isset($fichero)){
$fichero=strtr($fichero,"/","\\");
$link=mysql_connect("lldb389.servidoresdns.net","qav976","thetre") or die ("Error al conectar.");
mysql_select_db("qav976",$link);
$sql="LOAD DATA LOCAL INFILE '$fichero' REPLACE INTO TABLE `imagenes` FIELDS TERMINATED BY '#'";
$resultado = mysql_query($sql,$link);
}

y el error: la linea "$fichero=strtr($fichero,"/","\\");" es para reemplazar la barra \ de las rutas de windows por / de linux, que es el so del servidor en el que tengo la web. Pero si te fijas, esta funcion esta mal ¡hace lo contrario, reemplaza / por \!. Cambiando esta linea por
"$fichero=strtr($fichero,"\\","/");" el script funciona perfectamente.

Gracias de nuevo.
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