El método de carga de archivos PHP es más comúnmente asociado con el comando $_FILES. $ _FILES es una matriz, no un comando- es sólo donde PHP ubica los datos cargados por usted.
Cree un formulario que permita cargar un archivo.
Este formulario le permite cargar un archivo en el servidor.
Guarde el código del formulario en un archivo y nómbrelo como fileupload.html.
Si lo ve en un navegador debería ser similar al formulario anterior:
He aquí una breve descripción de las partes importantes del código anterior:
* enctype = "multipart / form-data": El formulario utilizado para
cargar archivos debe incluir el tipo de
codificación o atributo "enctype".
* action ="getfile.php": El nombre de nuestro archivo
PHP que se creará en breve para
procesar los datos del formulario.
* method = "POST": Informa al navegador que se quiere enviar información
al servidor usando el método POST únicamente,es decir,
el método GET no se puede utilizar para enviar información
al servidor.
* name ="MAX_FILE_SIZE": Establece el tamaño máximo de archivo permitido,
en bytes, que se puede cargar.
Este mecanismo de seguridad es fácilmente dejado
de lado y se va a mostrar una sólida
solución de copia de seguridad en PHP.
* name = "UploadFile": UploadFile es cómo vamos a tener
acceso al archivo en nuestro script PHP.
En PHP, la capacidad de carga de archivos es posible usando la siguiente función:
move_uploaded_file(filename, destination) - mueve un archivo a un destino especificado en el servidor.
Cuando un archivo se carga utilizando la función move_uploaded_file(),este es rápidamente almacenado en una ubicación temporal en el servidor web.
Para mover el archivo a su destino final y manipular sus diferentes propiedades, se utiliza la súper matriz global PHP $ _FILES.
La matriz $ _FILES utiliza el valor de nombre proporcionado por <input type="file" name="uploadFile"/>
(en este caso'uploadFile') para identificar el archivo que se cargó.
Las entradas asociadas con la matriz $ _FILES se describen a continuación.
* $_FILES['UploadFile']['tmp_name']: El directorio en el servidor web donde
está temporalmente almacenado el archivo.
Por defecto es el directorio uploadtemp
ubicado en la carpeta de PHP.
* $_FILES['uploadFile']['name']
: nombre del archivo en el sistema del usuario.
* $_FILES['uploadFile']['size']
: tamaño del fichero en bytes.
* $_FILES['uploadFile']['type']
: el tipo MIME del archivo.
* $_FILES['uploadFile']['error'] : el código de error asociado a
la carga de archivos (0 - carga exitosa,1 - el
archivo excede el máximo tamaño de carga,
2 - el archivo excede el tamaño máximo de archivo,
3 - fichero parcialmente cargado,
4 - No existe el fichero cargado)
cree un archivo que contenga la función para cargar el archivo y guárdelo como upload.php
Ejemplo:
<?php
if ($_POST[sub] == "Upload File")
{
move_uploaded_file ($_FILES['uploadFile'] ['tmp_name'],
"C:/Tutorial/PHP/Files/{$_FILES['uploadFile'] ['name']}");
if($_FILES['uploadFile'] ['error'] > 0)
{
switch ($_FILES['uploadFile'] ['error'])
{
case 1: echo 'File exceeded maximum server upload size';
break;
case 2: echo 'File exceeded maximum file size';
break;
case 3: echo 'File only partially uploaded';
break;
case 4: echo 'No file uploaded';
break;
}
}
else
{
echo 'File successfully uploaded';
}
}
?>
En este código, "move_uploaded_file" es una función incorporada en PHP usada para la carga de archivos en PHP. Cuando el archivo se ha cargado, PHP crea una copia temporal del archivo, y construye una matriz que contiene información sobre el archivo. $ _FILES es esa matriz.
La función move_uploaded_files toma dos parámetros, que figuran entre paréntesis y separados por una coma. El primer parámetro indica a la función donde conseguir el archivo y el segundo le dice a dónde mover la copia.
A continuación hacemos referencia al índice asociativo 'tmp_name', que nos proporciona el nombre del archivo temporal creado por PHP.
Le decimos a la función move_uploaded_file que cree una copia del archivo original en el directorio "C:/Tutorial/PHP/Files/" en el sitio web, y nombre el archivo con su nombre original. Si usa el sistema Linux puede mencionar la ruta del directorio como /home/user/, por ejemplo, puede cambiar la ruta del directorio como usted lo requiera para cargar el archivo.