Foros del Web » Programando para Internet » PHP »

Subir imagen y el nombre a db

Estas en el tema de Subir imagen y el nombre a db en el foro de PHP en Foros del Web. Hola, una pregunta que no entendi como resolver con un ejemplo de las FAQ, tengo un formulario para subir una imagen a un directorio, pero ...
  #1 (permalink)  
Antiguo 29/04/2003, 16:13
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mar del Plata
Mensajes: 203
Antigüedad: 22 años, 4 meses
Puntos: 0
Subir imagen y el nombre a db

Hola, una pregunta que no entendi como resolver con un ejemplo de las FAQ, tengo un formulario para subir una imagen a un directorio, pero tambien necesito que el nombre de dicho archivo ingrese a una base de datos como hago esto.
El code a continuación.
Desde ya muchas gracias. !!!

<form enctype="multipart/form-data" action="<?PHP echo $PHP_SELF ?>" method="post">

<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
Enviar un archivo: <input name="userfile" type="file"><input type="submit" name="submit" value="Enviar">
</form>
<?PHP

// copia a este directorio
$dir="./";

// copia el archivo al server
if (isset($submit)){

if (!is_uploaded_file ($userfile)){

echo "<b>$userfile_name</b> ERROR DE ARCHIVO !!";
}

// chequea si el upload es satisfactorio
if (is_uploaded_file ($userfile)){
move_uploaded_file($userfile,$dir.$userfile_name) ;}

echo "El archivo <b>$userfile_name</b> se copio correctamente";
}

?>
__________________
:) Fernando Dichiera (:
[email protected]
  #2 (permalink)  
Antiguo 29/04/2003, 16:19
Avatar de fmmeson  
Fecha de Ingreso: enero-2002
Ubicación: Tucuman
Mensajes: 401
Antigüedad: 22 años, 2 meses
Puntos: 2
hace una cuantas horas CLUSTER hizo un exelente tutorial acerca de como subir archivos (en tu caso fotos) a las BD

http://www.forosdelweb.com/showthrea...hreadid=127775
  #3 (permalink)  
Antiguo 29/04/2003, 19:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
.. mm bueno .. tal vez con el ejemplo que hice (en el link que indica fmmeson) "pilles" la idea .. Pero en el ejemplo propuesto "sube" la imagen completa a la BD en un campo "binario" ..

Para tu caso tienes que seguir con tus "copy()" al directorio destiono y solo guardarte en ese campo (tendrá que ser de tipo texto para tu caso particular) el nombre del archivo solo (con o sin ruta ..)

El consejo que te doy .. es que, sea cual sea el destino final que le des al archivo que "subes" .. Usa los arrays superglobales, en este caso $_FILES y todas sus propiedades como la del tipo de archivo. Te vendrá bien para un futuro.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 29/04/2003, 23:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Según tu código .. Tan solo tienes que hacer una consulta tipo INSERT a tu BD para guardarte el nombre del archivo que acabas de subir .. Dicho nombre lo tienes en la variable (para tu caso concreto): $userfile_name

Código PHP:
if (is_uploaded_file ($userfile)){ 
move_uploaded_file($userfile,$dir.$userfile_name) ;} 

echo 
"El archivo <b>$userfile_name</b> se copio correctamente"

// AQUÍ TU INSERT ... guardando en tu campo de tu BD que corresponda la variable $userfile_name


Si no dominas Mysql .. (SQL en concreto) .. te recomiendo que antes de nada hagas prácticas sencillas y que dominies el tema .. Por ejemplo con este tutorial:

http://otri.us.es/recursosPHP/manual/index.htm

Por otra parte .. INSISTO que ya que estás aprendiendo .. sería altamente recomendable que USASES el array superglobal $_FILES .. Ya te comenté que en las FAQ's (de las primeras) tienes información al respecto .. Leelas please.

Y .. cualquier cosa .. recuerda que tienes:
www.php.net/manual/es

Sobre todo para que veas todas esas funciones que estas usando y todo el tema relacionado con el "Upload" de archivos via HTTP a traves de PHP.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 13:26.