buenos días:
 
tengo un formulario que permite la subida de archivos menores a 2MB con extensión pdf, pero el problema es que si trato de subir un .sql o un pdf por ejemplo de 5 MB el servidor lo procesa, pero no lo sube, sin embargo se me pierden todos los valores del formulario y no encuentro la manera de hacer que le indique un mensaje al usuario de que no ha sido posible subir ese archivo.
 
he visto los archivos log del apache y me dice  ( POST Content-Length of 50845054 bytes exceeds the limit)
 
he leido un poco sobre algunas directivas a traves del .htaccess para prevenir o bloquear extensiones de archivos
 
mi archivo es el siguiente
 
 
<html>
<body>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data">
    <label for="file">Sube un archivo:</label>
    <input type="file" name="archivo" id="archivo" />
    <input type="submit" name="boton" value="Subir" />
</form>
<div class="resultado">
<?php
if(isset($_POST['boton'])){
 
      // Hacemos una condicion en la que solo permitiremos que se suban imagenes y que sean menores a 20 KB
  if ((($_FILES["archivo"]["type"] == "application/pdf")  && ($_FILES["archivo"]["size"] < 20000))) {
 
    //Si es que hubo un error en la subida, mostrarlo, de la variable $_FILES podemos extraer el valor de [error], que almacena un valor booleano (1 o 0).
      if ($_FILES["archivo"]["error"] > 0) {
        echo $_FILES["archivo"]["error"] . "";
      } else {
        // Si no hubo ningun error, hacemos otra condicion para asegurarnos que el archivo no sea repetido
        if (file_exists("pdfs/" . $_FILES["archivo"]["name"])) {
          echo $_FILES["archivo"]["name"] . " ya existe. ";
        } 
        else {
//         // Si no es un archivo repetido y no hubo ningun error, procedemos a subir a la carpeta /archivos, seguido de eso mostramos la imagen subida
          move_uploaded_file($_FILES["archivo"]["tmp_name"],"pdfs/marginados/" . $_FILES["archivo"]["name"]);
          echo "Archivo Subido ";
 
        }
      }
    } else {
        // Si el usuario intenta subir algo que no es una imagen o una imagen que pesa mas de 20 KB mostramos este mensaje
        echo "Archivo no permitido o excede el tamaño de:".$_FILES["archivo"]["size"];
    }
}
?>
</div>
</body>
</html>
 
 
 Pueden ayudarme a solventar este problema, ya que necesito evitar que no se suban al servidor archivos distintos de la extensión pdf y que sean mayores de 2 mb. 
  
 

