Foros del Web » Programando para Internet » PHP »

crear album de fotos en php

Estas en el tema de crear album de fotos en php en el foro de PHP en Foros del Web. Hola soy nueva en php tengo algunas dudas para crear albumes de fotografias sucede q es un proyecto dond tenemos la opcion de fotos y ...
  #1 (permalink)  
Antiguo 29/01/2011, 01:29
 
Fecha de Ingreso: enero-2011
Mensajes: 3
Antigüedad: 13 años, 9 meses
Puntos: 0
Pregunta crear album de fotos en php

Hola soy nueva en php tengo algunas dudas para crear albumes de fotografias sucede q es un proyecto dond tenemos la opcion de fotos y dentro de ella el crear albumes cargar las fotos y poder verlas yo ya he podido subir las fotos desde el pc y almacenarla en la base de datos con este codigo muy bueno q encontre x alli
<?php
// Verificamos que el formulario no ha sido enviado aun
$postback = (isset($_POST["enviar"])) ? true : false;
if($postback){
// Nivel de errores
error_reporting(E_ALL);
// Constantes
# Altura de el thumbnail en píxeles
define("ALTURA", 100);
# Nombre del archivo temporal del thumbnail
//define("NAMETHUMB", "/tmp/thumbtemp"); //Esto en servidores Linux, en Windows podría ser:
define("NAMETHUMB", "c:/windows/temp/thumbtemp"); //y te olvidas de los problemas de permisos
# Servidor de base de datos
define("DBHOST", "localhost");
# nombre de la base de datos
define("DBNAME", "red social");
# Usuario de base de datos
define("DBUSER", "root");
# Password de base de datos
define("DBPASSWORD", "");
// Mime types permitidos
$mimetypes = array("image/jpeg", "image/pjpeg", "image/gif", "image/png");
// Variables de la foto
$name = $_FILES["foto"]["name"];
$type = $_FILES["foto"]["type"];
$tmp_name = $_FILES["foto"]["tmp_name"];
$size = $_FILES["foto"]["size"];
// Verificamos si el archivo es una imagen válida
if(!in_array($type, $mimetypes))
die("El archivo que subiste no es una imagen válida");
// Creando el thumbnail
switch($type) {
case $mimetypes[0]:
case $mimetypes[1]:
$img = imagecreatefromjpeg($tmp_name);
break;
case $mimetypes[2]:
$img = imagecreatefromgif($tmp_name);
break;
case $mimetypes[3]:
$img = imagecreatefrompng($tmp_name);
break;
}
$datos = getimagesize($tmp_name);
$ratio = ($datos[1]/ALTURA);
$ancho = round($datos[0]/$ratio);
$thumb = imagecreatetruecolor($ancho, ALTURA);
imagecopyresized($thumb, $img, 0, 0, 0, 0, $ancho, ALTURA, $datos[0], $datos[1]);
switch($type) {
case $mimetypes[0]:
case $mimetypes[1]:
imagejpeg($thumb, NAMETHUMB);
break;
case $mimetypes[2]:
imagegif($thumb, NAMETHUMB);
break;
case $mimetypes[3]:
imagepng($thumb, NAMETHUMB);
break;
}
// Extrae los contenidos de las fotos
# contenido de la foto original
$fp = fopen($tmp_name, "rb");
$tfoto = fread($fp, filesize($tmp_name));
$tfoto = addslashes($tfoto);
fclose($fp);
# contenido del thumbnail
$fp = fopen(NAMETHUMB, "rb");
$tthumb = fread($fp, filesize(NAMETHUMB));
$tthumb = addslashes($tthumb);
fclose($fp);
// Borra archivos temporales si es que existen
@unlink($tmp_name);
@unlink(NAMETHUMB);
// Guardamos todo en la base de datos
#nombre de la foto
$nombre = $_POST["nombre"];
$link = mysql_connect(DBHOST, DBUSER, DBPASSWORD) or die(mysql_error($link));;
mysql_select_db(DBNAME, $link) or die(mysql_error($link));
$sql = "INSERT INTO fotos(nombre, foto, thumb, mime)
VALUES
('$nombre', '$tfoto', '$tthumb', '$type')";
mysql_query($sql, $link) or die(mysql_error($link));
echo "Fotos guardadas";
exit();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Imagen a Blob</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form name="frmimage" id="frmimage" method="post"
enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>">
Nombre: <input type="text" id="nombre" name="nombre" /><br />
Imagen: <input type="file" id="foto" name="foto" /><br />
<input type="submit" name="enviar" id="enviar" value="Guardar" />
</form>
</body>
</html>
ahora bien he podido sacar las fotos de la base y mostrarlas con otro script del mismo autor
<?php
header("Content-type: image/gif");
// Nivel de errores
error_reporting(E_ALL);

// Constantes
# Servidor de base de datos
define("DBHOST", "localhost");
# nombre de la base de datos
define("DBNAME", "red social");
# Usuario de base de datos
define("DBUSER", "root");
# Password de base de datos
define("DBPASSWORD", "");

// Parámetros para recuperar la imagen
# Recuperamos el parámetro GET con el id único de la foto que queremos mostrar
$idfoto = (isset($_GET["idfoto"])) ? $_GET["idfoto"] : exit();
# Recuperamos el parámetro GET para elegir entre la miniatura o la foto real
$tam = (isset($_GET["tam"])) ? $_GET["tam"] : 1;

// Escojemos la foto real o la miniatura según la variable $tam
switch($tam) {
case "1":
$campo = "foto";break;;
case "2":
$campo = "thumb";break;;
default:
$campo = "foto";break;;
}

// Recuperamos la foto de la tabla


$sql = "SELECT $campo, mime
FROM fotos
WHERE idfoto = $idfoto";

# Conexión a la base de datos
$link = mysql_connect(DBHOST, DBUSER, DBPASSWORD) or die(mysql_error($link));;
mysql_select_db(DBNAME, $link) or die(mysql_error($link));

$conn = mysql_query($sql, $link) or die(mysql_error($link));




$datos = mysql_fetch_array($conn);

// La imagen
$imagen = $datos[0];
// El mime type de la imagen
$mime = $datos[1];

// Gracias a esta cabecera, podemos ver la imagen
// que acabamos de recuperar del campo blob
header("Content-Type: $mime");
// Muestra la imagen
echo $imagen;
?>
invocandolo desde este html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Imagen a Blob</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<img src="verblob.php?idfoto=1&tam=1" alt="Imagen desde Blob" />
</body>
</html>
pero solo m muestra una foto!!!!!!!!! y yo necesito poder crear el album y ver todas las fotos almacenadas en el como una galeria!! les agradeceria de todo corazon su valioso aporte xq sinceramente ya no tengo ni la menor idea de q poder hacer!!!
  #2 (permalink)  
Antiguo 29/01/2011, 19:35
Avatar de marieta_lovegood  
Fecha de Ingreso: julio-2009
Ubicación: Cochabamba, Bolivia, Bolivia
Mensajes: 24
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: crear album de fotos en php

te muestra solo una por que solo una estas llamando hace un while que cargue todas con sus respectivas caracteristicas
  #3 (permalink)  
Antiguo 29/01/2011, 19:52
 
Fecha de Ingreso: enero-2011
Mensajes: 3
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: crear album de fotos en php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Imagen a Blob</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>

<?php
//Conexión a la base de datos
// Constantes
# Servidor de base de datos
define("DBHOST", "localhost");
# nombre de la base de datos
define("DBNAME", "red social");
# Usuario de base de datos
define("DBUSER", "root");
# Password de base de datos
define("DBPASSWORD", "");

$link = mysql_connect(DBHOST, DBUSER, DBPASSWORD) or die(mysql_error($link));;
mysql_select_db(DBNAME, $link) or die(mysql_error($link));

$sqlQuery = "SELECT idfoto FROM fotos";
$result = mysql_query($sqlQuery, $link);
//pregunto si tiene registros.

if ($row = mysql_fetch_array($result)){

echo '<center><img src="verblob.php?idfoto=&tam=2 " alt="Imagen desde Blob"/>';
}

?>
</body>
</html>
estos es lo ultimo q intente pero ahora ya no m muestra nada
  #4 (permalink)  
Antiguo 29/01/2011, 20:06
Avatar de marieta_lovegood  
Fecha de Ingreso: julio-2009
Ubicación: Cochabamba, Bolivia, Bolivia
Mensajes: 24
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: crear album de fotos en php

Código PHP:
$link mysql_connect(DBHOSTDBUSERDBPASSWORD) or die(mysql_error($link));;
mysql_select_db(DBNAME$link) or die(mysql_error($link));

$sqlQuery "SELECT idfoto FROM fotos";
$result mysql_query($sqlQuery$link);
//pregunto si tiene registros.

if ($row mysql_fetch_array($result)){
$idFoto=$row["idfoto"];

echo 
'<center><img src="verblob.php?idfoto='.$idFoto.'&tam=2 " alt="Imagen desde Blob"/>';
}

?>
</body>
</html> 
Haber si ahora te funciona

Última edición por marieta_lovegood; 29/01/2011 a las 20:15 Razón: error de variable perdon!!!
  #5 (permalink)  
Antiguo 29/01/2011, 20:17
 
Fecha de Ingreso: enero-2011
Mensajes: 3
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: crear album de fotos en php

gracias!!! t iras al cielo!!! el if lo cambie x un while!!!!! y m muestra todas las fotos de la BD ahora si quisiera poner un boton d siguiente?? para q m muestre una a una??? de veras q pienso q PHP no m quiere y el proyecto es para el 31!!
  #6 (permalink)  
Antiguo 29/01/2011, 20:25
Avatar de marieta_lovegood  
Fecha de Ingreso: julio-2009
Ubicación: Cochabamba, Bolivia, Bolivia
Mensajes: 24
Antigüedad: 15 años, 4 meses
Puntos: 0
De acuerdo Respuesta: crear album de fotos en php

... SUERTEEEE!!!!!!!! DOBLE!!!! SUERTEEEEEEEEEEE!!!

o tengo proyecto de e-commerce para la proxima semana XD suerte

y que el PHP este contigo

amalo sientelo vivelo!!!

no nos quedade otra
  #7 (permalink)  
Antiguo 29/01/2011, 23:20
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
Tema movido desde Mysql a PHP

Etiquetas: album, fotos
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 14:12.