Temas > Programacion > Php > Upload Subir un archivo al servidor en php
Julio

Upload - Subir un archivo al servidor
Una actividad común en un sitio es poder almacenar un archivo 
en el servidor. Se necesita en muchas ocasiones este algoritmo,
por ejemplo para subir fotos, documentos, programas, etc.
Se requieren dos páginas, una de ellas, un formulario donde 
seleccionamos el archivo a enviar y otra página donde se graba el
archivo en el servidor.
El formulario para hacer la selección del archivo es:
<html>
<head>
<title>Problema</title>
</head>
<body>
<form action="pagina2.php" method="post" enctype="multipart/form-data">
Seleccione el archivo:
<input type="file" name="foto"><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>
Veamos los puntos que tenemos que respetar cuando efectuamos
el upload de archivos:
<form action="pagina2.php" method="post" 
enctype="multipart/form-data">
Se define una nueva propiedad para la marca form, con esta 
indicamos que dentro del formulario de carga se envían archivos.
Hay que tener mucho cuidado cuando tipeamos esta propiedad, si nos
equivocamos en algún caracter el proceso de upload no funcionará.
El control HTML para la selección del archivo se llama "file":
<input type="file" name="foto"><br>
Automáticamente aparecerá el botón dentro de la página para poder
navegar en nuestro disco duro para la selección del archivo (por defecto
PHP está configurado para poder cargar archivos de hasta 2 Mb, de 
todos modos, este valor lo podemos modificar).
La segunda página es:
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
copy($_FILES[`foto`][`tmp_name`],$_FILES[`foto`][`name`]);
echo "La foto se registro en el servidor.<br>";
$nom=$_FILES[`foto`][`name`];
echo "<img src="$nom">";
?>
</body>
</html>
Cuando se ejecuta esta página, ya está almacenado en el servidor
el archivo, en una carpeta temporal. Ahora nos hace falta copiar
el mismo a la carpeta donde se encuentra nuestra página (en
definitiva nuestro sitio de internet). Para esto llamamos a la función
copy:
<?php
copy($_FILES[`foto`][`tmp_name`],$_FILES[`foto`][`name`]);
?>
La matriz $_FILES almacena el nombre del archivo almacenado en
el directorio temporal ($_FILES[`foto`][`tmp_name`]) y el nombre del
archivo original ($_FILES[`foto`][`name`])
Por último mostramos en la página el archivo que se almacenó en el 
servidor:
<?php
$nom=$_FILES[`foto`][`name`];
echo "<img src="$nom">";
?>
Otras cosas interesantes que tiene la matriz $_FILES:
$_FILES[`foto`][`name`] El nombre original del fichero en la máquina
cliente.
$_FILES[`foto`][`type`] El tipo de archivo (si el navegador lo
proporciona). Un ejemplo podría ser "image/gif".
$_FILES[`foto`][`size`] El tamaño en bytes del fichero recibido.
$_FILES[`foto`][`tmp_name`] El nombre del archivo temporal que se utiliza
para almacenar en el servidor el archivo recibido.













¿Has olviado tu contraseña?

Pulsa aquí para registrate




Google






LunMarMieJueVieSabDom
    123
45678910
11121314151617
181920 21222324
252627282930 

Jueves 21 de Noviembre 2024
Semana 47

..............................................................................................................................................................................................................................................
(Contacto)..
Esta web utiliza cookies para obtener datos estadísticos de la navegación de sus usuarios. Política de privacidad y Aviso legal