Mostrando entradas con la etiqueta Formularios. Mostrar todas las entradas
Mostrando entradas con la etiqueta Formularios. Mostrar todas las entradas

Asegurar un File Upload comprobando la firma de los archivos

Tenemos un simple formulario para elegir un fichero y subirlo al servidor y una pequeña rutina en PHP para verificar que el fichero es del tipo correcto (una imagen gif, jpeg o png) comprobando el Content-type enviado en la cabecera:

<?php
$valid_mime_types = array(
 "image/gif",
 "image/png",
 "image/jpeg",
 "image/pjpeg",
);

if(isset($_POST['upload']))
{
 $destination = 'uploads/' . $_FILES['userfile']['name'];
 if (in_array($_FILES['userfile']['type'], $valid_mime_types))
    {
  move_uploaded_file($_FILES['userfile']['tmp_name'], $destination);
  echo "<div>Upload succesful: <a href='$destination'>here</a><a href=\"\">×</a></div>";
    }
 else
 {
  echo "<div>>Upload failed.<a href=\"\">×</a></div>";
 }
}
?>

<form enctype="multipart/form-data" action="index.php" method="POST">
<fieldset>
 <legend>Upload</legend>
 <input name="userfile" class="small button" type="file" />
 <input type="submit" class="small button" name="upload" id="upload" value="Upload" />
</fieldset>
</form>

Generador de formularios HTML en PHP

He desarrollado un par de clases en PHP para generar formularios HTML automáticamente suministrando los campos con los que vamos a trabajar (htmlForms) o a partir de una tabla MySQL (htmlFormsDB). Las características principales son:
  • Visualización de formularios en vertical u horizontal
  • Con o sin títulos
  • Multilínea (para gestionar varias filas de datos)
  • Formateo automático de campos de fecha y hora
  • Gestión de la longitud de cada campo según el tipo de dato (no de la longitud del componente visible)
  • Reordenación de campos para visualizar
  • Generación automática de hoja de estilo CSS
  • Facilidad para añadir eventos
  • Posibilidad de enviar directivas SQL a la base de datos