Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/02/2006, 07:32
heman24
 
Fecha de Ingreso: diciembre-2005
Mensajes: 33
Antigüedad: 18 años, 4 meses
Puntos: 0
Exclamación Cual es la mejor forma de hacer una galeria de fotos

Hola amigos, necesito hacer una galeria de fotos con la siguiente logica. Primero, las fotos las cargarian los usuarios y quedarian relacionadas con la categoria en una db.

esta es la tabla de la db tantis:

CREATE TABLE fotolog (
id_fotolog int(10) NOT NULL auto_increment,
user_f varchar(255) NOT NULL default '',
categoria varchar(255) NOT NULL default '',
ruta varchar(255) NOT NULL default '',
comentario varchar(255) NOT NULL default '',
fecha date NOT NULL default '0000-00-00',
archivo varchar(255) NOT NULL default '',
PRIMARY KEY (id_fotolog)
) TYPE=MyISAM;


este es el formulario

Código HTML:
<form action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data" name="form1">
  <table width="95%"  border="0">
    <tr>
      <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
      <td width="51%">autor: <?php echo $_SESSION['MM_Username']?> </td>
      <td width="49%">titulo/categoria      
      <input name="categoria" type="text" id="categoria"></td>
    </tr>
    <tr>
      <td colspan="2"><span class="FORMULARIOS">Archivo</span>
        <input name="archivo_" type="file" class="campos" id="archivo_">
        <input name="archivo" type="text" id="archivo"></td>
    </tr>
    <tr>
      <td colspan="2">Comentario de la foto: 
      <input name="comentario" type="text" id="comentario"></td>
    </tr>
    <tr>
      <td colspan="2"><input name="boton" type="submit" id="boton" value="Enviar">
      <input name="fecha" type="hidden" id="fecha" value="<? echo date("y"),"/",date("m"),"/",date("d")?>">
      <input name="user" type="hidden" id="user2" value="<?php echo $_SESSION['MM_Username']?> ">      
      <input type="hidden" name="hiddenField" value="<?php echo FORM.archivo?>"><? echo $HTTP_POST_FILES['archivo']['tmp_name']?></td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="form1"> 

CODIGO PHP

Código PHP:
<?php require_once('../Connections/conex_tan.php'); ?>

<?
if($boton) {
   if (
is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) {
     
copy($HTTP_POST_FILES['archivo']['tmp_name'], $HTTP_POST_FILES['archivo']['name']);
     
$subio true;
//   }
function GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? "'" doubleval($theValue) . "'" "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}

$editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

?>
<?php
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  
$insertSQL sprintf("INSERT INTO fotolog (user_f, categoria, ruta, comentario, fecha) VALUES (%s, %s, %s, %s, %s)",
                       
GetSQLValueString($_POST['user'], "text"),
                       
GetSQLValueString($_POST['categoria'], "text"),
                       
GetSQLValueString($_POST['archivo'], "text"),
                       
GetSQLValueString($_POST['comentario'], "text"),
                       
GetSQLValueString($_POST['fecha'], "date"));

  
mysql_select_db($database_conex_tan$conex_tan);
  
$Result1 mysql_query($insertSQL$conex_tan) or die(mysql_error());

  
$insertGoTo "cargar_nuevo_fotolog.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
    
$insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$insertGoTo));
}

mysql_select_db($database_conex_tan$conex_tan);
$query_fotolog "SELECT * FROM fotolog";
$fotolog mysql_query($query_fotolog$conex_tan) or die(mysql_error());
$row_fotolog mysql_fetch_assoc($fotolog);
$totalRows_fotolog mysql_num_rows($fotolog);
?>
<?
}
////
if($subio) {
   echo 
"El archivo subio con exito";
} else {
   echo 
"El archivo no cumple con las reglas establecidas"
}
die();
}
?>
Disculpen la ensalada, pero en si quiero hacer dos cosas a la vez. Primero que el usuario pueda hacer el upload del archivo, y segundo que completanto algunos datos, el codigo hace un insert en la tabla fotolog, grabando fecha, autor, categoria y ruta de archivo. 1er problema: Cuando quiero grabar la ruta del campo donde pongo el boton examinar no tengo forma de que lo tome, por ende, me da null. 2do error: como hago para que guarde la ruta relativa al sitio. Por ejemplo, si en el campo de upload despues del examinar se ve c:\fotos\pepe.jpg, yo quiero que grabe en la db, ../fotolog/pepe.jp

Por otro lado, en la galeria de imagenes se listarian de la siguiente forma. Tengo dos iframes(lista y cuerpo), en uno, el listado de todas las categorias, donde con clickear, te carga la categoria en el iframe cuerpo, mostrando la foto y el comentario. 1er error: Hay algun script que genere automaticamente las thumbnails? Por que sino las veo todas desproporcionadas? dos:

Espero no molestar mucho con esto. Agradecere alguna pista de como hacerlo ya que es mi debut con este codigo. Saludos y muchas gracias nuevamente