Hola!!! He encontrado en la red este scripts, pero no tengo ni idea de como va, y eso que tiene alguna explicación. Haber si me pueden explicar mejor como va todo, paso a paso, como creo los archivos? como los enlazo?. En general todo para que funcione bien. Muchas gracias!!!
Este es el scripts y lo que detallan:
Debemos comenzar creando la base de datos y la tabla
que almacenara el codigo de la foto, el thumbail y
la foto en si
create database fotos;
create table fotos.foto_foto(
idfoto int not null auto_increment primary KEY,
foto_grande mediumblob,
foto_pequena mediumblob,
);
///datos.php(pagina de configuracion)
<?php
$servidor=\"\";
$nombre=\"\";
$clave=\"\";
?>
Ahora creamos un simple formulario que coja de nuestro
ordenador el thumbail y la foto(deben estar previamente
guardadas con el tamaño adecuado)
observar el Type del formulario, esto nos permite enviar
tanto texto como ficheros
///form.php
<?
echo \'<font size=1>\';
echo \'<center>\';
echo\'<form enctype=\"multipart/form-data\" action=\"guardararchivo.php\" method=\"post\">\';
echo \'Foto
<input type=\"file\" name=\"foto\">\';
echo \'
\';
echo \'Thum.
<input type=\"file\" name=\"thumbail\">
\';
echo \'<input type=hidden name=max_file_size value=1000000>\';
echo \'<input type=\"submit\" value=\"Enviar archivo\">\';
echo \'</form>\';
echo \'
<a href=descargar_archivo2.php>Ver album</a>\';
?>
Esta es la pagina que guarda las fotos en la base de datos, da un mensaje de
error o de exito y nos devuelve al formulario, es muy sencilla
///guardadararchivo.php
<?php
require (\"datos.php\");
echo \'<center><font size=1>\';
$conexion=@mysql_connect($servidor,$nombre,$clave) ;
$res=mysql_select_db(\"fotos\",$conexion);
if ( $conexion > 0 )
{
$archivo = $_FILES[\"foto\"][\"tmp_name\"];
$tamanio = $_FILES[\"foto\"][\"size\"];
$tipo = $_FILES[\"foto\"][\"type\"];
$nombre = $_FILES[\"foto\"][\"name\"];
$archivo_thumb = $_FILES[\"thumbail\"][\"tmp_name\"];
$tamanio_thumb = $_FILES[\"thumbail\"][\"size\"];
$tipo_thumb = $_FILES[\"thumbail\"][\"type\"];
$nombre_thumb = $_FILES[\"thumbail\"][\"name\"];
if ( $archivo != \"none\" && $archivo_thumb!=\"none\")
{
$fp = fopen($archivo, \"rb\");
$contenido = fread($fp,$tamanio);
$contenido = addslashes($contenido);
fclose($fp);
$fp_thumb = fopen($archivo_thumb, \"rb\");
$contenido_thumb = fread($fp_thumb,$tamanio_thumb);
$contenido_thumb = addslashes($contenido_thumb);
fclose($fp_thumb);
$query = \"INSERT INTO fotos.foto_foto VALUES(null,\'\".$contenido.\"\',\'\".$contenido_t humb.\"\')\";
mysql_query($query);
if(mysql_affected_rows($conexion) > 0)print \"Se ha guardado el archivo en la base de datos.\";
else print \"NO se ha podido guardar el archivo en la base de datos.\";
}
else print \"No se ha podido subir el archivo al servidor\";
}else{
echo \'No conectado\';
}
echo \"<HTML><SCRIPT>document.location=\'form.php\'; </SCRIPT></HTML>\";
?>
A continuacion muestro como se puede crear un album de fotos con enlace a esa misma foto
mas grande, la pequeña es el thumbail que hemos guardado con tamaño mas pequeño y la
grande tambien la tenemos en la bas de datos(recomiendo comprimir mediante codigo con
gzip)aqui no las comprimo porque se complica un poco el script.
///descargar_archivo2.php
<?php
require (\"datos.php\");
$conexion=@mysql_connect($servidor,$nombre,$clave) ;
$res=mysql_select_db(\"fotos\",$conexion);
$qry = \"SELECT idfoto,foto_pequena FROM fotos.foto_foto\";
$res2 = mysql_query($qry);
for ($j=0;$j < mysql_num_rows($res2);$j++)
for ($i=0;$i < mysql_num_fields($res2);$i++)
{
$foto=basename(tempnam(getcwd(),\'tmp\'));
$foto.=\".jpg\";
if ($i==1)
{
$contenido2=mysql_result($res2,$j,$i);
$ft=fopen($foto,\"w\");
fwrite($ft,$contenido2);
fclose($ft);
echo \'<a href=fotogrande.php?idfoto=\'.mysql_result($res2,$ j,0).\'><img src=\'.$foto.\'> \';
echo \'\';
}
}
echo \'
<font size=1><center><a href=form.php>Insertar nuevas fotos</a>\';
?>
y finalmente creamos la pàgina donde visualizamos las fotos en grande
sencillo, no?
///fotogrande.php
<?php
require(\"datos.php\");
$conexion=@mysql_connect($servidor,$nombre,$clave) ;
$res=mysql_select_db(\"fotos\",$conexion);
$qry = \"SELECT foto_grande FROM fotos.foto_foto where idfoto=\'\".$_GET[\"idfoto\"].\"\'\";
$res2 = mysql_query($qry);
$foto=basename(tempnam(getcwd(),\'tmp\'));
$foto.=\".jpg\";
$contenido2=mysql_result($res2,0,0);
$ft=fopen($foto,\"w\");
fwrite($ft,$contenido2);
fclose($ft);
echo \'<center><img src=\'.$foto.\'>
\';
echo \'<font size=1><a href=descargar_archivo2.php>Volver al album</a>\';
?>
![]()



Citar


Marcadores