Bueno ya valide tu código. para que funcione sin moverle nada lo primero que tienes que hacer es incrementar el tamaño en:
Cita: upload_max_size
max_post_size
Una vez corregido esto me permitio seguir con las validaciones, ahora te voy a dar un listado de errores que encontre:
1.- Tu html esta mal estructurado al igual que las tablas con los errores que muestras, verifica que lo estes haciendo bien, si son pruebas, entonces tomalo en cuenta cuando hagas la aplicación bien.
2.- Tu forma trae en el input del archivo '
accept="aplication/pdf|MIME_type"', si no subes un archivo de este tipo no te dice ningún error, tienes que validarlo, lo que va a salir lo mismo que si no lo pones y vas y lo validas en PHP, en el codigo que te comparto se lo quite.
3.- Muchas veces quieres cambiar el tamano del tu archivo, por eso es mejor dejar una constante para tu script.
4.- En tu action de tu form estas mandando llamar un archivo del cual no pusiste el código ( o lo mas probable es que asi se llame el archivo de donde sacaste el código
), el código que pusiste es para procesarse en el archivo mismo, por lo tanto tu action debes dejarlo vacío.
5.- Se usa array_key_exists para verificar que la información venga de un post de la forma.
6.- Te dejo el código para que lo compares con el tuyo, ya lo probe y si funciona
7.- Debes de cambiar la ruta de subida.
Código PHP:
<?php
define('MAX_FILE_SIZE', 10485760);
$archivos_permitidos = array('application/pdf');
$OK = false;
if ( array_key_exists('enviado', $_POST)) {
echo "Este archivo es de ". ($_FILES['userfile']['size']/1054000) ." Mb. <br><br>";
var_dump($_FILES);
if($_FILES['userfile']['size'] > MAX_FILE_SIZE){
echo("El tamaño del archivo es demasiado grande. <br>");
} else {
$nombre_archivo = $_FILES['userfile']['name'];
$partes_nombre = explode('.', $nombre_archivo);
$extension = pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION);
// verificar que solo se suban archivos permitidos
foreach ($archivos_permitidos as $key) {
if ($key == $_FILES['userfile']['type']) {
$OK = true; // como encontro un archivo permitido ya no es necesario preguntar por los demas y esta listo para subirse.
break;
}
}
if (!$OK) {
echo("La extensión del archivo no es válida. <br><br><table><tr><td>Solo se permiten archivos de 10 Mb máximo.</td></tr></table>");
} else {
move_uploaded_file($_FILES['userfile']['tmp_name'], "c:\\temp\\".$nombre_archivo);
}
}
}
else{
?>
<body>
<form action="" method="post" enctype="multipart/form-data" id="subirBID">
<p>
<input name="userfile" type="file">
</p>
<p>
<input type="submit" name="button" id="button" value="Subir Archivo">
</p>
<input type="hidden" name="enviado" value="subirBID">
</form>
<?php }?>
</body>