Subir Ficheros al Servidor con PHP - PowerPoint PPT Presentation

About This Presentation
Title:

Subir Ficheros al Servidor con PHP

Description:

Propiedades del fichero de configuraci n del servidor. Variables del fichero en el servidor. ... echo 'El archivo ha sido cargado correctamente.'; else ... – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 20
Provided by: Super87
Category:

less

Transcript and Presenter's Notes

Title: Subir Ficheros al Servidor con PHP


1
Subir Ficheros al Servidor con PHP
  • José Sánchez Galvañ

2
Índice
  • Formulario para seleccionar Archivos
  • Propiedades del formulario.
  • Código HTML.
  • Página para almacenar el fichero
  • Propiedades de la página.
  • Propiedades del fichero de configuración del
    servidor.
  • Variables del fichero en el servidor.
  • Código PHP.
  • Envío de múltiples ficheros

3
Formulario para seleccionar archivos
  • Creamos una página donde poder seleccionar el
    fichero a enviar.
  • Formulario sencillo HTML.
  • Capacidad de enviar gran cantidad de información
    POST.
  • Llamara a un fichero .php encargado de subir el
    fichero seleccionado subirF.php
  • Atributos necesarios para poder enviar esa
    información.

4
HTML
  • ltform actionsubirF.php" method"post"
    enctype"multipart/form-data"gt ltinput
    type"hidden" name"MAX_FILE_SIZE"
    value"100000"gt ltbgtEnviar un nuevo
    archivo lt/bgt ltinput namenFichero"
    type"file"gt ltinput type"submit"
    value"Enviar"gt lt/formgt

5
HTML
  • ltform actionsubirF.php" method"post"
    enctype"multipart/form-data"gt ltinput
    type"hidden" name"MAX_FILE_SIZE"
    value"100000"gt ltbgtEnviar un nuevo
    archivo lt/bgt ltinput name"nFichero"
    type"file"gt ltinput type"submit"
    value"Enviar"gt lt/formgt

subirF.php Fichero en php encargado de subir
el fichero al servidor.
6
HTML
  • ltform actionsubirF.php" method"post"
    enctype"multipart/form-data"gt ltinput
    type"hidden" name"MAX_FILE_SIZE"
    value"100000"gt ltbgtEnviar un nuevo
    archivo lt/bgt ltinput name"nFichero"
    type"file"gt ltinput type"submit"
    value"Enviar"gt lt/formgt

post Enviaremos el fichero por la entrada
estándar.
7
HTML
  • ltform actionsubirF.php" method"post"
    enctype"multipart/form-data"gt ltinput
    type"hidden" name"MAX_FILE_SIZE"
    value"100000"gt ltbgtEnviar un nuevo
    archivo lt/bgt ltinput name"nFichero"
    type"file"gt ltinput type"submit"
    value"Enviar"gt lt/formgt

multipart/form-dataPermite subir datos y
archivos en un mismo formulario.
8
HTML
  • ltform actionsubirF.php" method"post"
    enctype"multipart/form-data"gt ltinput
    type"hidden" name"MAX_FILE_SIZE"
    value"100000"gt ltbgtEnviar un nuevo
    archivo lt/bgt ltinput name"nFichero"
    type"file"gt ltinput type"submit"
    value"Enviar"gt lt/formgt

MAX_FILE_SIZEPalabra reservada Máximo tamaño
del fichero(en bytes). Debería de comprobarlo el
servidor.
9
HTML
  • ltform actionsubirF.php" method"post"
    enctype"multipart/form-data"gt ltinput
    type"hidden" name"MAX_FILE_SIZE"
    value"100000"gt ltbgtEnviar un nuevo
    archivo lt/bgt ltinput namenFichero"
    type"file"gt ltinput type"submit"
    value"Enviar"gt lt/formgt

Referencia del fichero que tendremos en el
servidor.
10
HTML
  • ltform actionsubirF.php" method"post"
    enctype"multipart/form-data"gt ltinput
    type"hidden" name"MAX_FILE_SIZE"
    value"100000"gt ltbgtEnviar un nuevo
    archivo lt/bgt ltinput namenFichero"
    type"file"gt ltinput type"submit"
    value"Enviar"gt lt/formgt

fileSeleccionar el fichero.
11
Página para almacenar el fichero
  • Una vez en el servidor, el fichero se almacena en
    un directorio temporal, a la espera de la
    aceptación o no del fichero.
  • Si no se almacena, el fichero se elimina tras la
    ejecución de la página.
  • Página donde
  • Comprobaremos que el fichero cumple los
    requisitos.
  • Realizamos la copia del fichero en un directorio
    del servidor.
  • Formulario en PHP subirF.php

12
Propiedades del fichero de configuración del
servidor.
  • Fichero php.ini
  • Permitir subir ficheros al servidor
  • file_uploads On
  • Seleccionamos un directorio temporal para los
    archivos
  • upload_tmp_dir carp_temp/
  • Tamaño máximo de los archivos.
  • upload_max_filesize 2M

13
Variables de fichero en el servidor
  • _FILES variable que contiene la información del
    fichero
  • HTTP_POST_FILESnFicheroname Nombre
    original del fichero en el cliente.
  • HTTP_POST_FILESnFicherotmp_name Nombre
    del fichero temporal en el servidor.
  • HTTP_POST_FILESnFicherotype Tamaño en
    bytes del fichero.
  • HTTP_POST_FILESnFicheroerror Error
    asociado al fichero.

14
PHP
  • lt? //Información del Archivo
  • nombre_archivo HTTP_POST_FILES'nFichero''n
    ame'tamano_archivo HTTP_POST_FILES'nFicher
    o''size'
  • nombre_temporal HTTP_POST_FILES'nFichero''t
    mp_name'
  • //compruebo si las características del archivo
    son las que deseo if (tamano_archivo lt 100000)
  • echo El tamaño de archivo
    incorrecto.Tamaño maximo 100 Kb máximo. "
  • else
  • if(move_uploaded_file(nombre_temporal,
    nombre_archivo))
  • echo "El archivo ha sido cargado
    correctamente."     else
  • echo "Ocurrió algún error al subir el fichero.
    No pudo guardarse."  
  • ?gt

Guardamos en variables la información del
archivo nombre_archivo Nombre del fichero
original. tamano_archivo tamaño del
fichero. nombre_temporal Nombre(temp) del
fichero en el servidor.
15
PHP
  • lt? //Información del Archivo
  • nombre_archivo HTTP_POST_FILES'nFichero''n
    ame'tamano_archivo HTTP_POST_FILES'nFicher
    o''size'
  • nombre_temporal HTTP_POST_FILES'nFichero''t
    mp_name'
  • //compruebo si las características del archivo
    son las que deseo if (tamano_archivo lt 100000)
  • echo El tamaño de archivo
    incorrecto.Tamaño maximo 100 Kb máximo. "
  • else
  • if(move_uploaded_file(nombre_temporal,
    nombre_archivo))
  • echo "El archivo ha sido cargado
    correctamente."     else
  • echo "Ocurrió algún error al subir el fichero.
    No pudo guardarse."  
  • ?gt

El fichero NO cumple las propiedades.
El fichero SI cumple las propiedades. Movemos el
fichero de su localización temporal, a una
definitiva, asignándole el nombre original que
queramos darle.
16
PHP
  • lt? //Información del Archivo
  • nombre_archivo HTTP_POST_FILES'nFichero''n
    ame'tamano_archivo HTTP_POST_FILES'nFicher
    o''size'
  • nombre_temporal HTTP_POST_FILES'nFichero''t
    mp_name'
  • //compruebo si las características del archivo
    son las que deseo if (tamano_archivo lt 100000)
  • echo El tamaño de archivo
    incorrecto.Tamaño maximo 100 Kb máximo. "
  • else
  • if(move_uploaded_file(nombre_temporal,
    nombre_archivo))
  • echo "El archivo ha sido cargado
    correctamente."     else
  • echo "Ocurrió algún error al subir el fichero.
    No pudo guardarse."  
  • ?gt

Mostramos un mensaje de error. Al salir, el
fichero se elimina.
17
PHP
  • else
  • if(move_uploaded_file(nombre_temporal,
    nombre_archivo))
  • echo "El archivo ha sido cargado
    correctamente."     else
  • echo "Ocurrió algún error al subir el fichero.
    No pudo guardarse."  

move_uploaded_file Movemos el fichero a la
posición definitiva.Le pasamos el fichero
temporal el nombre con el que queremos guardarlo.
Podemos indicar una ruta Move_uploaded_file(
nombre_temporal, direccion . nombre_archivo)
18
Envío de múltiples ficheros
  • A partir de la versión 3.0.10
  • HTML
  • ltinput namenFichero" type"file"gt
  • ltinput namenFichero" type"file"gt
  • PHP
  • HTTP_POST_FILESnFicheroname0
  • HTTP_POST_FILESnFicheroname1

19
...y por ultimo...
  • ...dudas y preguntas?
Write a Comment
User Comments (0)
About PowerShow.com