Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/11/2003, 16:24
concric
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 293
Antigüedad: 20 años, 5 meses
Puntos: 1
Galeria De Fotos En Php

Quiero hacer una galeria de fotos en mi web tengo dos ejemplos uno que mueve los ficheros y otro que crea la base de datos y un visor

Quiero fundir los dos codigos en uno (mover.php e insertar.php) de tal modo que desde un formulario inserte la foto y los datos de ella en un BD y a su vez la mueva a una carpeta:

esta aqui todo http://www.xalma.net/gf.zip

form.php

<?php
if (isset($_GET['proceso'])){
echo $_GET['proceso']."<br>";
}
?>
<FORM ENCTYPE="multipart/form-data" METHOD="post" ACTION="mover.php o insertar.php " >

<table width="7%" border="0" align="center" cellpadding="5">
<tr>
<td><input type="file" name="archivo"></td>
</tr>
<tr>
<td align="right"> <input class="expe" type="submit" name="enviar" value="Aceptar"></td>
</tr>
</table>
</FORM>


insertar.php

<?php
//Primero, arranca el bloque PHP y checkea si el archivo tiene nombre. Si no fue asi, te remite de nuevo al formulario de inserción:
// No se comprueba aqui si se ha subido correctamente.
if (empty($_FILES['archivo']['name'])){
header("location: formulario.php?proceso=falta_indicar_fichero"); //o como se llame el formulario ..
exit;
}

//establece una conexión con la base de datos.
$conexion = mysql_connect("localhost","","") or die("No se pudo realizar la conexion con el servidor.");
mysql_select_db("egadgets",$conexion) or die("No se puede seleccionar BD"); // egadgets es el nombre de la Base de datos .. por siaca.

// archivo temporal (ruta y nombre).
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ;

// leer del archvio temporal .. el binario subido.
// "rb" para Windows .. Linux parece q con "r" sobra ...
$binario_contenido = addslashes(fread(fopen($binario_nombre_temporal, "rb"), filesize($binario_nombre_temporal)));

// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo.
$binario_nombre=$_FILES['archivo']['name'];
$binario_peso=$_FILES['archivo']['size'];
$binario_tipo=$_FILES['archivo']['type'];

//insertamos los datos en la BD.
$consulta_insertar = "INSERT INTO archivos (id, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')";
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");
header("location: visor.php"); // si ha ido todo bien
exit;
?>visor.php o buscador de fotos


mover.php

<?
# recogemeos en variables con el nombre de las usadas en el script anterior
# los valores transferidos por POST

$archivo_name= $_FILES['archivo']['name'];
$archivo_size= $_FILES['archivo']['size'];
$archivo_type= $_FILES['archivo']['type'];
$archivo= $_FILES['archivo']['tmp_name'];

$MAX_FILE_SIZE= $_POST['lim_tamano'];

if ($archivo != "none" AND $archivo_size != 0 AND $archivo_size<=$lim_tamano){

if (copy ($archivo, $archivo_name)) {
echo "<h2>Se ha transferido el archivo $archivo_name (mover_archivo.php)</h2>";


echo "<br>Su tamaño es: $archivo_size bytes<br>";
echo "<br>El fichero es tipo: $archivo_type <br>";
}else{
echo "<h2>No ha podido transferirse el fichero</h2>";
echo "<h3>Error interno del servidor.</h2>";

}
}else{
echo "<h2>No ha podido transferirse el fichero</h2>";
echo "<h3>su tamaño no puede exceder de $lim_tamano bytes</h2>";
}
?>


SOY MUY NOVATO ME LO TENEIS QUE EXPLICAR COMO SI FUESE UN NIÑO DE CUATRO AÑOS, GRACIAS

Última edición por concric; 13/11/2003 a las 16:32