$_FILES es un array asociativo el cual permite subir archivos al servidor.
Para ello es necesario incluir en un formulario el objeto file ...
<input name="file" type="file">
Y una cosa muy importante hay que añadir en la etiqueta form lo siguiente ... enctype="multipart/form-data"
<form method="post" action="<?php $_SERVER["PHP_SELF"]; ?>" enctype="multipart/form-data"> ...</form>
$_FILES["file"]["propiedad"];
Tipo de propiedades:
- name: nombre del archivo
- type: tipo de extensión del archivo
- tmp_name: ruta de la imagen temporal
- size: tamaño del archivo
- error: devuelve 0 si no ha ocurrido ningún error
Imagen 1, se ha seleccionado un archivo correcto ...
Código del ejemplo ...
<?php
/* By http://php-estudios.blogspot.com */
//$_FILES - permite la subida de archivos al servidor
$resultado = "";
if (isset($_POST["upload"])){
$tamano = $_FILES [ 'file' ][ 'size' ]; // Leemos el tamaño del fichero
$tamaño_max = "25200000"; // Tamaño maximo permitido 3MB
$nombre_aleatorio = str_shuffle("abcdefghijklmnopqrstuvwxyz"); //nombre aleatorio del archivo
if( $tamano < $tamaño_max){ // Comprobamos el tamaño
$destino = ""; // Carpeta, en este caso la misma del script
//Para saber el tipo de imagen ...
$image = explode("image/", $_FILES["file"]["type"]);
$tipo = $image[1];
if($tipo == "jpg" || $tipo == "jpeg" || $tipo == "png" || $tipo == "gif")
{
$ruta = "".$destino."".$nombre_aleatorio.".".$tipo.""; // CREAMOS LA RUTA
move_uploaded_file ( $_FILES [ 'file' ][ 'tmp_name' ], $ruta); // Subimos el archivo
$resultado = "Enhorabuena el archivo ha sido subido con éxito";
}
else
{
$resultado = "Ha habido un error, archivo no permitido.";
}
}
else
{
$resultado = "El archivo supera el tamaño máximo permitido.";
}
}
?>
<form method="post" action="<?php $_SERVER["PHP_SELF"]; ?>" enctype="multipart/form-data">
<input type="file" name="file"> Max. 3Mb | Tipo .jpg .jpeg .png .gif
<input type="hidden" name="upload">
<input type="submit" value="Subir">
</form>
<?php echo "<h3>$resultado</h3>"; ?>


No hay comentarios:
Publicar un comentario