Your SlideShare is downloading. ×
0
Jsg2
Jsg2
Jsg2
Jsg2
Jsg2
Jsg2
Jsg2
Jsg2
Jsg2
Jsg2
Jsg2
Jsg2
Jsg2
Jsg2
Jsg2
Jsg2
Jsg2
Jsg2
Jsg2
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Jsg2

57

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
57
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Subir Ficheros al Servidor con PHPJosé 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 seleccionararchivos Creamos una página donde poder seleccionar elfichero a enviar. Formulario sencillo HTML. Capacidad de enviar gran cantidad de información:POST. Llamara a un fichero .php encargado de subir el ficheroseleccionado: “subirF.php” Atributos necesarios para poder enviar esainformación.
  • 4. HTML <form action=“subirF.php" method="post"enctype="multipart/form-data"><input type="hidden" name="MAX_FILE_SIZE"value="100000"><b>Enviar un nuevo archivo: </b><input name=“nFichero" type="file"><input type="submit" value="Enviar"></form>
  • 5. HTML <form action=“subirF.php" method="post"enctype="multipart/form-data"><input type="hidden" name="MAX_FILE_SIZE"value="100000"><b>Enviar un nuevo archivo: </b><input name="nFichero" type="file"><input type="submit" value="Enviar"></form>“subirF.php”: Fichero en phpencargado de subir el fichero alservidor.“subirF.php”: Fichero en phpencargado de subir el fichero alservidor.
  • 6. HTML <form action=“subirF.php" method="post"enctype="multipart/form-data"><input type="hidden" name="MAX_FILE_SIZE"value="100000"><b>Enviar un nuevo archivo: </b><input name="nFichero" type="file"><input type="submit" value="Enviar"></form>“post”: Enviaremos el ficheropor la entrada estándar.“post”: Enviaremos el ficheropor la entrada estándar.
  • 7. HTML <form action=“subirF.php" method="post"enctype="multipart/form-data"><input type="hidden" name="MAX_FILE_SIZE"value="100000"><b>Enviar un nuevo archivo: </b><input name="nFichero" type="file"><input type="submit" value="Enviar"></form>“multipart/form-data”:Permite subir datos yarchivos en un mismo formulario.“multipart/form-data”:Permite subir datos yarchivos en un mismo formulario.
  • 8. HTML <form action=“subirF.php" method="post"enctype="multipart/form-data"><input type="hidden" name="MAX_FILE_SIZE"value="100000"><b>Enviar un nuevo archivo: </b><input name="nFichero" type="file"><input type="submit" value="Enviar"></form>“MAX_FILE_SIZE”:Palabra reservada:Máximo tamaño del fichero(en bytes).Debería de comprobarlo el servidor.“MAX_FILE_SIZE”:Palabra reservada:Máximo tamaño del fichero(en bytes).Debería de comprobarlo el servidor.
  • 9. HTML <form action=“subirF.php" method="post"enctype="multipart/form-data"><input type="hidden" name="MAX_FILE_SIZE"value="100000"><b>Enviar un nuevo archivo: </b><input name=“nFichero" type="file"><input type="submit" value="Enviar"></form>Referencia del fichero quetendremos en el servidor.Referencia del fichero quetendremos en el servidor.
  • 10. HTML <form action=“subirF.php" method="post"enctype="multipart/form-data"><input type="hidden" name="MAX_FILE_SIZE"value="100000"><b>Enviar un nuevo archivo: </b><input name=“nFichero" type="file"><input type="submit" value="Enviar"></form>“file”:Seleccionar el fichero.“file”:Seleccionar el fichero.
  • 11. Página para almacenar el fichero Una vez en el servidor, el fichero se almacena en undirectorio temporal, a la espera de la aceptación o nodel fichero. Si no se almacena, el fichero se elimina tras laejecució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 deconfiguración del servidor. Fichero php.ini:– Permitir subir ficheros al servidorfile_uploads = On– Seleccionamos un directorio temporal para losarchivosupload_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 delfichero:– $HTTP_POST_FILES[“nFichero”][name]: Nombre original delfichero en el cliente.– $HTTP_POST_FILES[“nFichero”][tmp_name]: Nombre delfichero temporal en el servidor.– $HTTP_POST_FILES[“nFichero”][type]: Tamaño en bytes delfichero.– $HTTP_POST_FILES[“nFichero”][error]: Error asociado alfichero.
  • 14. PHP<? //Información del Archivo$nombre_archivo = $HTTP_POST_FILES[nFichero][name];$tamano_archivo = $HTTP_POST_FILES[nFichero][size];$nombre_temporal= $HTTP_POST_FILES[nFichero][tmp_name];//compruebo si las características del archivo son las que deseoif ($tamano_archivo < 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.";elseecho "Ocurrió algún error al subir el fichero. No pudo guardarse.";}?>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.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<? //Información del Archivo$nombre_archivo = $HTTP_POST_FILES[nFichero][name];$tamano_archivo = $HTTP_POST_FILES[nFichero][size];$nombre_temporal= $HTTP_POST_FILES[nFichero][tmp_name];//compruebo si las características del archivo son las que deseoif ($tamano_archivo < 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.";elseecho "Ocurrió algún error al subir el fichero. No pudo guardarse.";}?>El fichero NO cumple las propiedades.El fichero NO cumple las propiedades.El fichero SI cumple las propiedades. Movemos el fichero de sulocalización temporal, a una definitiva, asignándole el nombre originalque queramos darle.El fichero SI cumple las propiedades. Movemos el fichero de sulocalización temporal, a una definitiva, asignándole el nombre originalque queramos darle.
  • 16. PHP<? //Información del Archivo$nombre_archivo = $HTTP_POST_FILES[nFichero][name];$tamano_archivo = $HTTP_POST_FILES[nFichero][size];$nombre_temporal= $HTTP_POST_FILES[nFichero][tmp_name];//compruebo si las características del archivo son las que deseoif ($tamano_archivo < 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.";elseecho "Ocurrió algún error al subir el fichero. No pudo guardarse.";}?>Mostramos un mensaje de error. Al salir, el fichero se elimina.Mostramos un mensaje de error. Al salir, el fichero se elimina.
  • 17. PHPelse{if(move_uploaded_file($nombre_temporal, $nombre_archivo))echo "El archivo ha sido cargado correctamente.";elseecho "Ocurrió algún error al subir el fichero. No pudo guardarse.";}move_uploaded_file: Movemos el fichero a la posición definitiva.Lepasamos el fichero temporal el nombre con el que queremos guardarlo.Podemos indicar una ruta:Move_uploaded_file( $nombre_temporal, $direccion . $nombre_archivo)move_uploaded_file: Movemos el fichero a la posición definitiva.Lepasamos 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<input name=“nFichero[]" type="file"><input name=“nFichero[]" type="file"> PHP$HTTP_POST_FILES[“nFichero”][name][0];$HTTP_POST_FILES[“nFichero”][name][1];
  • 19. ...y por ultimo......dudas y preguntas?

×