Este es el código que se usa para subir archivos desde el cliente a tu pagina web usando un formulario, por ejemplo se usa para subir fotos, documentos, etc. o los famosos Avatares; esto es lo que comúnmente se denomina «upload» o «upload file«.

El Script se maneja en 2 partes, por cuestiones de tutorial lo haré en 2 paginas php, una que tenga el formulario y la otra que lo recepcion.

selecionar_archivo

Primera Parte

La pagina con el  formulario para hacer la selección del archivo, básicamente es un formulario con un input file y su botón de enviar, el código es:

<html>
<head>
<title>Subir un Archivo Imagen</title>
</head>
<body>
<form action="file2.php" method="post" enctype="multipart/form-data">
Seleccione el archivo:<br />
<input type="file" name="archivo_foto"><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>

Lo que hay que destacar aquí son 2 partes: el <input type=»file» name=»archivo_foto»> que es el cuadro de texto+ el botón de Examinar, en donde se define el nombre de elemento que nos servirá en el formulario receptor;  en este caso es «archivo_foto» ($_FILE[‘archivo_foto’] cuando se trabaje en el script 2) otra propiedad que le puedes definir es el size para modificar su ancho (size=»30″)

la otra línea a resaltar es la propiedad en el FORM enctype=»multipart/form-data» que es muy importante ya que definirá el envío del archivo

Segunda Parte

Este seria el archivo que recepciona lo enviado por el otro script

<html>
<head>
<title>Mostrar Archivo</title>
</head>
<body>
<?php
copy($_FILES['archivo_foto']['tmp_name'],$_FILES['archivo_foto']['name']);
echo "El archivo se grabo correctamente.<br>";
$nombre=$_FILES['archivo_foto']['name'];
echo "<img src=\"$nombre\">";
?>
</body>
</html>

Cuando llegamos aquí desde la pagina donde subimos el archivo lo primero que tenemos que hacer es mover el archivo temporal a la ubicación que queremos.

La función COPY, la explicación a esa línea seria «cópiame el archivo /tmp/phpxDifNo a ./xammp.jpg» es decir cópialo a donde me encuentro ahora mismo con el nombre del archivo que tubo cuando fue subido (la carpeta debe tener permiso 777 o sea, de escritura)

En las siguientes líneas obtenemos el nombre del archivo para ser luego usado en el tag IMG y mostrarlo en pantalla 😀

selecionar_archivo_guardar

Observaciones:

Espero que este Tutorial les hay sido de mucha ayuda