Un upload de imagenes que sube la imagen a un directorio y aparte graba en una tabla el path , el id_foto y el id_auto (es el auto con la foto asignada)
el codigo de upload es el siguiente
archivo : fotos.php
Código PHP:
include ("fotos2.php");
include ("libreria_foto.php");
if($nombre<>''){
//llama al formulario que se encuentra
// en la libreria_foto
formulario_foto($nombre);
}
Código HTML:
<form method="post" enctype="multipart/form-data" action="enviar.php"> <table width="50%" style="margin: auto;"> <tr> <td colspan="2" style="width: 100%;"><b><?=$msg?></b></td> </tr> <tr class="genava"> <td style="width: 45%;">NOMRE DEL ARCHIVO </td> <td style="width: 55%;"><input name="archivo" type="file" class="genava" size="20" /></td> </tr> <tr class="genava"> <td style="width: 45%;"> </td> <td style="width: 55%;"><input type="submit" value="Enviar!" /></td> </tr> </table> </form>
archivo enviar.php
Código PHP:
include("config.php");
# Si la carpeta no existe la creamos y le aplicamos los permisos.
if(!file_exists($carpeta_archivos))
{
mkdir($carpeta_archivos);
@chmod($carpeta_archivos, 0777);
}
# Verificamos que este setiado el archivo.
if($_FILES['archivo'])
{
# Verificamos que su tamaño sea mejor que los bytes que as puesto en la configuración.
if((1000 * $bytes_max) > $_FILES['archivo']['size'])
{
# Seteamos las variables para mejor facilidad
$tmp = $_FILES['archivo']['tmp_name'];
$name = $_FILES['archivo']['name'];
$ahora = $carpeta_archivos.'/'.$name;
# Movemos el archivo a la carpeta
move_uploaded_file($tmp, $ahora);
# paso el nombre de la imagen para que la guarde en la tabla de la DB
header("Location: fotos.php?nombre=$name");
}
else
header("Location: index.php?errno=1&errmsg=Su archivo excede los ".$bytes_max."bytes.");
}
else
header("Location: index.php?errno=1&errmsg=No ah seleccionado ningun archivo.");
Código PHP:
require("link.php");
function formulario_foto($nombre){
global $ok_foto,$link,$id_auto,$id_foto,$base,$principal;
if($ok_foto){
if($link){
if(($id_foto<>'') AND ($id_auto<>'') AND ($nombre<>'')){
$query="SELECT * from fotos WHERE id_foto = $id_foto";
$result=mysql_db_query($base,$query,$link);
$row=mysql_fetch_row($result);
if($row<>0){
echo'EL ID SE ENCUENTRA UTILIZADO EN EL SISTEMA. INTENTE CON OTRO';
} else {
//SI ELIGO QUE SEA LA FOTO PRINCIPAL
if($principal==1){
$up="UPDATE autos SET id_foto=$id_foto WHERE id_auto=$id_auto";
if(mysql_db_query($base,$up,$link)){
echo '';
} else {
echo 'no se pudo generar como principal';
}
}
//FIN PRINCIPAL
$query="INSERT INTO fotos values ('$id_foto','$id_auto','$nombre')";
if(mysql_db_query ($base,$query,$link)){
echo 'LA FOTO se ingresó exitosamente';
}
}
} else {
echo'faltan datos';
}
} else {
echo'problemas de conexion';
}
}
Código HTML:
<form name="form1" method="post" action=""> <table width="338" border="0" align="center" cellpadding="0" cellspacing="0"> <tr class="genava"> <td width="142">ID FOTO: </td> <td width="196"><input name="id_foto" type="text" id="id_foto"></td> </tr> <tr class="genava"> <td>ID AUTO: </td> <td><input name="id_auto" type="text" id="id_auto"></td> </tr> <tr class="genava"> <td>ARCHIVO:</td> <td><input name="path" type="text" id="path" value="<? print("$nombre"); ?>"></td> </tr> <tr class="genava"> <td> </td> <td>agregar como foto principal? <input name="principal" type="checkbox" id="principal" value="1"></td> </tr> <tr class="genava"> <td> </td> <td><input type="submit" name="Submit" value="agregar foto a auto"> <input name="ok_foto" type="hidden" id="ok_foto" value="true"></td> </tr> </table> </form>
Esto funciona perfectamente pero necesito que ocupe menos , ese es el principal problema .
Alguien me puede ayudar a reducir el tamaño en este codigo ?¿
muchas gracias .