Foros del Web » Programando para Internet » PHP »

Insertar imágen en una carpeta y datos en una base de datos

Estas en el tema de Insertar imágen en una carpeta y datos en una base de datos en el foro de PHP en Foros del Web. Cómo inserto una imagen en una carpeta del sitio web, y los datos por ejemplo de la dirección de la misma en una base de ...
  #1 (permalink)  
Antiguo 03/08/2010, 13:48
Avatar de MarioAlejandroCR2  
Fecha de Ingreso: mayo-2010
Ubicación: Esparza - Puntarenas
Mensajes: 98
Antigüedad: 14 años, 5 meses
Puntos: 2
Pregunta Insertar imágen en una carpeta y datos en una base de datos

Cómo inserto una imagen en una carpeta del sitio web, y los datos por ejemplo de la dirección de la misma en una base de datos, para que la misma base de datos no sea tan pesada y asi más liviana, aparte de otros valores como nombre de la foto, etc que son obvios, en si lo que quiero es saber como insertar mediante un formulario ph en una carpeta del sitio (/galeria/archivosubido.jpg) y que tome esa dirección y la guarde en la bd, para luego solo cargar mediante el tipico <img src=...>
De antemano gracias
  #2 (permalink)  
Antiguo 03/08/2010, 13:51
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Insertar imágen en una carpeta y datos en una base de datos

en google consigues miles de tutoriales sobre eso (php file upload: $_FILES), simplemente debes de almacenar en el campo de la base de datos el path hacia la imagen
  #3 (permalink)  
Antiguo 03/08/2010, 14:34
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 14 años, 5 meses
Puntos: 63
De acuerdo Respuesta: Insertar imágen en una carpeta y datos en una base de datos

Te recomiendo que leas del swfupload... es muy util para lo q necestias... y la compatibilidad es amplia, aunq he tenido servidores donde no funciona pero es muy bueno, combina php, js y flash... googleatelo!
  #4 (permalink)  
Antiguo 03/08/2010, 14:47
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 16 años, 3 meses
Puntos: 165
Respuesta: Insertar imágen en una carpeta y datos en una base de datos

Hola,

Es fácil, puedes encontrar muchos ejemplos por internet.

http://emilio.aesinformatica.com/2007/05/03/subir-una-imagen-con-php/


http://www.webtaller.com/construccio...r_archivos.php


Como te han dicho, debes utilizar $_FILES, que es un array que contiene los atributos / características del fichero, nombre, peso, tipo, etc..
  #5 (permalink)  
Antiguo 18/09/2012, 10:04
Avatar de andreamorante184  
Fecha de Ingreso: agosto-2012
Mensajes: 65
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Insertar imágen en una carpeta y datos en una base de datos

Buenas tardes quiero informarles que yo también quiero realizar lo mismo "Insertar imágen en una carpeta y datos en una base de datos"; y no encuentro nada
por ahora tengo el siguiente codigo


<?php
$titulo = $_POST['tituloNov'];
$subtitulo = $_POST['subtitulo'];
$destacada = $_POST['cuerpo'];

$imagen = $_POST['imagen_ante'];
$sql = "";
$sql = "INSERT INTO novedades (titulo, subtitulo, cuerpo)" ;
$sql .= "VALUES ( '".$titulo."', '".$subtitulo."', '".$destacada."')";
mysql_query($sql);
$id=mysql_insert_id();
$destino = ("imagenes/novedades/". $id . "/");

if
(is_uploaded_file($HTTP_POST_FILES['imagen']['tmp_name']))
copy($HTTP_POST_FILES['imagen']['tmp_name'], "imagenes/novedades".$HTTP_POST_FILES['imagen']['name']);
if($HTTP_POST_FILES['imagen']['tmp_name'] != '')
$imagen = $HTTP_POST_FILES['imagen']['tmp_name'];


?>


Me guarda las datos pero no las imagenes
__________________
Andrea Morante
  #6 (permalink)  
Antiguo 18/09/2012, 16:41
Avatar de Aeon1  
Fecha de Ingreso: enero-2012
Mensajes: 57
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Insertar imágen en una carpeta y datos en una base de datos

yo tengo este codigo para hacer lo que quieres hacer solo necesitas usarlo con ajax

<?php


$clave=$_POST['clave']; //obtengo el registro donde voy a guardar el nombre de la imagen
$path = "eventos_img/"; //le indico donde guardar la imagen en el server
$valid_formats = array("jpg", "png", "gif", "bmp"); //formatos aceptados
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
{
$name = $_FILES['photoimg']['name'];
$size = $_FILES['photoimg']['size'];

if(strlen($name))
{
list($txt, $ext) = explode(".", $name);
if(in_array($ext,$valid_formats))
{
if($size<(2048*2048)) //peso maximo de la imagen
{
$conexion = mysql_connect("server","usuario","pass")
or die ("Fallo en el establecimiento de la conexión");
mysql_select_db("base de datos",$conexion) or
die("Problemas en la seleccion de la base de datos");
$actual_image_name = time().substr(str_replace(" ", "_", $txt), 0).".".$ext; // le cambio el nombre para evitar que este otra con el mismo nombre, pero puedes quitarcelo
$tmp = $_FILES['photoimg']['tmp_name'];

if(move_uploaded_file($tmp, $path.$actual_image_name))
{
mysql_query("UPDATE tabla SET campo='$actual_image_name' WHERE registro='$clave'");

echo "imagen guardada";

}
else
echo "Fallo al subir la imagen";
}
else
echo "Imagen no debe exeder 2 MB";
}
else
echo "Formato invalido..";
}

else
echo "Seleccione una imagen..!"; //valido el campo que no este vacio

exit;
}

?>
  #7 (permalink)  
Antiguo 18/09/2012, 16:53
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 11 meses
Puntos: 35
Respuesta: Insertar imágen en una carpeta y datos en una base de datos

pues en la bd lo q se guardaria es el nombre del archivo.
la ruta completa no seria necesaria.
  #8 (permalink)  
Antiguo 19/09/2012, 11:39
Avatar de andreamorante184  
Fecha de Ingreso: agosto-2012
Mensajes: 65
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Insertar imágen en una carpeta y datos en una base de datos

<?php
$titulo = $_POST['campo1'];
$subtitulo = $_POST['campo2'];
$destacada = $_POST['campo3'];
$sql = "";
$sql = "INSERT INTO tabla (titulo, subtitulo, cuerpo)" ;
$sql = "VALUES ( '".$titulo."', '".$subtitulo."', '".$destacada."', '".$HTTP_POST_FILES['imagen']['name']."')";
mysql_query($sql);
$id=mysql_insert_id();
$destino = ("imagenes/novedades/". $id . "/");
if(!mkdir($destino, 0777, true))
{
copy($HTTP_POST_FILES['imagen']['tmp_name'], $destino .$HTTP_POST_FILES['imagen']['name']);
}
?>
Ahora el problema es el con mkdir... no crea la carpeta... jiji... la verdad necesito urgente ayuda.. gracias
__________________
Andrea Morante
  #9 (permalink)  
Antiguo 19/09/2012, 11:44
Avatar de andreamorante184  
Fecha de Ingreso: agosto-2012
Mensajes: 65
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Insertar imágen en una carpeta y datos en una base de datos

Cita:
Iniciado por maxpower2008 Ver Mensaje
pues en la bd lo q se guardaria es el nombre del archivo.
la ruta completa no seria necesaria.
Exacto !!! pero no sé como
__________________
Andrea Morante
  #10 (permalink)  
Antiguo 22/10/2012, 12:52
Avatar de Aeon1  
Fecha de Ingreso: enero-2012
Mensajes: 57
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Insertar imágen en una carpeta y datos en una base de datos

se que ya es viejo el tema pero:
el codigo que puse solo guarda el puro nombre la imagen
mysql_query("UPDATE tabla SET campo='$actual_image_name' WHERE registro='$clave'");

Etiquetas: carpetas
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 10:45.