Se trata de un script que envia imagenes mediante php, si tienen alguna sugerencia para mejorar el funcionamiento del script por favor haganmelo saber, de momento y a mi vista creo que cumple su funcion basica, pero si gente con mayor experiencia (soy novato ene esto) nota que se puede mejorar, las sugerencias son bienvenidas, sin mas rodeos publico el codigo:
Código PHP:
Ver original
<?php // Verificamos si existen variables a procesar: // Definimos la variable para los mensajes: // Base de datos: // Definimos la variable y realizamos la conexión con la base de datos: $conexion = mysql_connect('localhost', 'root', '') or $mensaje[] = ('Error al conectar con la base de datos.'); // Definimos la variable y seleccionamos la base de datos a ser utilizada: $base_de_datos = mysql_select_db('db', $conexion) or $mensaje[] = ('La base de datos seleccionada no existe.'); // Fin de la base de datos // Correo electrónico: // Definimos la variable para el correo electrónico: $correo_electronico = $_POST['correo_electronico']; // Formato del correo electrónico: $error = true; $mensaje[] = ('Por favor, ingrese una dirección de correo electrónico válida.'); } // Fin del correo electrónico // Condiciones: // Selección de la foto: $error = true; $mensaje[] = ('Por favor, seleccione una foto para enviar.'); } // Formato de la foto: } if ($formato['mime'] != 'image/jpeg') { $error = true; $mensaje[] = ('Sólo se pueden enviar fotos en formato JPG.'); } // Peso de la foto: $peso_permitido = 1000000; if ($_FILES['foto']['size'] > $peso_permitido) { $error = true; } // Fin de las condiciones // País: // Definimos la variable para el país: $pais = $_POST['pais']; // Comprobamos que el país esté seleccionado: $error = true; $mensaje[] = ('Por favor, seleccione su país.'); } // Fin del país // Si se cumplen todas las condiciones continuamos: if ($error = false) { // Foto: // Definimos las variables para el envío de la foto: $directorio = 'fotos'; $nombre = "foto_" . $id . ".jpg"; $ruta_temporal = $_FILES['foto']['tmp_name']; $ruta_final = $directorio . '/' . $nombre; $error = true; $mensaje[] = ('Error al enviar la foto.'); } // Fin de la foto // Miniatura: // Definimos las variables para la creación de la miniatura: $directorio_miniatura = "fotos/miniaturas/miniatura_" . $nombre; $ancho_miniatura = 150; $alto_miniatura = 150; // Creamos el lienzo de la miniatura: // Obtenemos las dimensiones de la foto original: $ancho_inicial = $tamano_miniatura[0]; $alto_inicial = $tamano_miniatura[1]; // Tomamos el lado más grande de la foto para tener una miniatura cuadrada: $lado_miniatura = $ancho_inicial > $alto_inicial ? $alto_inicial : $ancho_inicial; // Creamos la miniatura en base a la foto original: imagecopyresampled($lienzo_miniatura, $miniatura, 0, 0, 0, 0, $ancho_miniatura, $alto_miniatura, $lado_miniatura, $lado_miniatura); // Guardamos la foto en miniatura con una calidad de 100%: // Fin de la miniatura // Marca de agua: // Definimos las variables para la creación de la marca de agua: $ruta_marca_de_agua = 'imagenes/marca-de-agua.png'; // Procedemos a crear el fichero JPEG final con la marca de agua a partir de la foto inicial: $ruta_foto = $directorio . '/' . $nombre; // Obtenemos las dimensiones de la foto y de la marca de agua: $destino_x = $tamano_foto[0] - $tamano_marca[0] - 10; $destino_y = $tamano_foto[1] - $tamano_marca[1] - 10; // Pegamos la foto con la marca de agua: imagecopymerge($foto_para_marca, $marca_de_agua, $destino_x, $destino_y, 0, 0, $tamano_marca[0], $tamano_marca[1], 100); // Guardamos los cambios: // Liberamos la memoria: // Fin de la marca de agua // Construimos la cadena SQL para guardar los datos: $sql = "INSERT INTO fotos (correo_electronico,foto,pais) values('" . $correo_electronico . "','" . $ruta_final . "','" . $pais . "')"; // Informamos el resultado de la operación: if ($respuesta) { $mensaje[] = ('La foto ha sido enviada correctamente, en breve será revisada por un administrador.'); } else { $mensaje[] = ('Error al enviar la foto.'); } } } ?>