<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Curso_POO_PHP_Formularios_web</id>
	<title>Curso POO PHP Formularios web - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Curso_POO_PHP_Formularios_web"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Curso_POO_PHP_Formularios_web&amp;action=history"/>
	<updated>2026-10-22T06:43:25Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=Curso_POO_PHP_Formularios_web&amp;diff=36775&amp;oldid=prev</id>
		<title>Vlourido: /* Empregar un formulario web para subir ficheiros ao servidor */</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Curso_POO_PHP_Formularios_web&amp;diff=36775&amp;oldid=prev"/>
		<updated>2013-08-07T21:21:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Empregar un formulario web para subir ficheiros ao servidor&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Formularios web ==&lt;br /&gt;
&lt;br /&gt;
A forma natural para facer chegar á aplicación web os datos do usuario dende un navegador, é utilizar formularios HTML. Os formularios HTML van encerrados sempre entre as etiquetas &amp;#039;&amp;#039;&amp;#039;&amp;lt;FORM&amp;gt;&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;&amp;lt;/FORM&amp;gt;&amp;#039;&amp;#039;&amp;#039;. Dentro dun formulario inclúense os elementos sobre os que pode actuar o usuario, principalmente usando as etiquetas &amp;#039;&amp;#039;&amp;#039;&amp;lt;INPUT&amp;gt;&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;&amp;lt;SELECT&amp;gt;&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;&amp;lt;TEXTAREA&amp;gt;&amp;#039;&amp;#039;&amp;#039; e &amp;#039;&amp;#039;&amp;#039;&amp;lt;BUTTON&amp;gt;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
O atributo &amp;#039;&amp;#039;&amp;#039;action&amp;#039;&amp;#039;&amp;#039; do elemento FORM indica a páxina á que se lle enviarán os datos do formulario. No noso caso tratarase dun script PHP. Pola súa banda, o atributo &amp;#039;&amp;#039;&amp;#039;method&amp;#039;&amp;#039;&amp;#039; especifica o método usado para enviar a información. Este atributo pode ter dous valores:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;get&amp;#039;&amp;#039;&amp;#039;: con este método os datos do formulario agréganse ao URI utilizando un signo de consulta &amp;#039;&amp;#039;&amp;#039;&amp;quot;?&amp;quot;&amp;#039;&amp;#039;&amp;#039; como separador.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;post&amp;#039;&amp;#039;&amp;#039;: con este método os datos inclúense no corpo dunha mensaxe de petición POST de HTTP.&lt;br /&gt;
&lt;br /&gt;
En PHP os datos recolleranse de distinta forma dependendo de como se envíen. O datos enviados co método POST recóllense empregando a variable &amp;#039;&amp;#039;&amp;#039;[http://www.php.net/manual/es/reserved.variables.post.php $_POST]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    $nome = $_POST[&amp;#039;nome&amp;#039;];&lt;br /&gt;
    $modulos = $_POST[&amp;#039;modulos&amp;#039;];&lt;br /&gt;
    print &amp;quot;Nome: &amp;quot;.$nome.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
    foreach ($modulos as $modulo) {&lt;br /&gt;
        print &amp;quot;Modulo: &amp;quot;.$modulo.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se pola contra tiveses usado o método GET, o código necesario para procesar os datos sería similar; simplemente faría falta cambiar a variable $_POST por &amp;#039;&amp;#039;&amp;#039;[http://www.php.net/manual/es/reserved.variables.get.php $_GET]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    $nome = $_GET[&amp;#039;nome&amp;#039;];&lt;br /&gt;
    $modulos = $_GET[&amp;#039;modulos&amp;#039;];&lt;br /&gt;
    print &amp;quot;Nome: &amp;quot;.$nome.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
    foreach ($modulos as $modulo) {&lt;br /&gt;
        print &amp;quot;Modulo: &amp;quot;.$modulo.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En calquera dos dous casos poderías ter usado &amp;#039;&amp;#039;&amp;#039;[http://www.php.net/manual/es/reserved.variables.request.php $_REQUEST]&amp;#039;&amp;#039;&amp;#039; substituíndo respectivamente $_POST e $_GET. $_REQUEST almacena o contido dos arrays $_POST, $_GET e $_COOKIE.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
    $nome = $_REQUEST[&amp;#039;nome&amp;#039;];&lt;br /&gt;
    $modulos = $_REQUEST[&amp;#039;modulos&amp;#039;];&lt;br /&gt;
    print &amp;quot;Nome: &amp;quot;.$nome.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
    foreach ($modulos as $modulo) {&lt;br /&gt;
        print &amp;quot;Modulo: &amp;quot;.$modulo.&amp;quot;&amp;lt;br /&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Empregar un formulario web para subir ficheiros ao servidor ===&lt;br /&gt;
&lt;br /&gt;
É posible empregar o método POST para subir un ficheiro ao servidor web. Neste caso é necesario que o tipo de codificación para os datos que se envían estea especificado como &amp;quot;&amp;#039;&amp;#039;multipart/form-data&amp;#039;&amp;#039;&amp;quot; na etiqueta &amp;quot;&amp;#039;&amp;#039;&amp;lt;form&amp;gt;&amp;#039;&amp;#039;&amp;quot;, e crear unha etiqueta HTML de tipo &amp;quot;&amp;#039;&amp;#039;&amp;lt;input&amp;gt;&amp;#039;&amp;#039;&amp;quot; co atributo &amp;quot;&amp;#039;&amp;#039;type=&amp;#039;file&amp;#039;&amp;#039;&amp;#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;form enctype=&amp;quot;multipart/form-data&amp;quot; action=&amp;quot;envio.php&amp;quot; method=&amp;quot;POST&amp;quot;&amp;gt;&lt;br /&gt;
    Ficheiro a enviar: &amp;lt;input name=&amp;quot;ficheiro&amp;quot; type=&amp;quot;file&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Enviar&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O nome do arquivo enviado recíbese no array global &amp;#039;&amp;#039;&amp;#039;[http://php.net/manual/en/reserved.variables.files.php $_FILES]&amp;#039;&amp;#039;&amp;#039;, e unha vez recibido pode moverse a unha nova localización empregando a función &amp;#039;&amp;#039;&amp;#039;[http://www.php.net/manual/es/function.move-uploaded-file.php move_uploaded_file]&amp;#039;&amp;#039;&amp;#039;. A localización temporal na que se reciben os ficheiros subidos polos clientes web e outros datos relativos ás subidas poden xestionarse empregando as seguintes directivas de configuración:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[http://www.php.net/manual/en/ini.core.php#ini.post-max-size post_max_size]&amp;#039;&amp;#039;&amp;#039;. Tamaño máximo da información transmitida co método POST. Afecta aos ficheiros e a calquera outra información transmitida por ese método.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[http://www.php.net/manual/en/ini.core.php#ini.file-uploads file_uploads]&amp;#039;&amp;#039;&amp;#039;. Indica se se permiten ou non as subidas de ficheiros ao servidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize upload_max_filesize]&amp;#039;&amp;#039;&amp;#039;. Tamaño máximo de cada un dos ficheiros que se suben ao servidor.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[http://www.php.net/manual/en/ini.core.php#ini.upload-tmp-dir upload_tmp_dir]&amp;#039;&amp;#039;&amp;#039;. Directorio no que se almacenan de forma temporal os ficheiros que se suben ao servidor web.&lt;br /&gt;
&lt;br /&gt;
Aos límites de tamaño de ficheiro anteriores aplícanselles a maiores aqueles que teña configurados o servidor web, se é o caso.&lt;br /&gt;
&lt;br /&gt;
Se o ficheiro se sube correctamente ao servidor, crearase un novo elemento no array &amp;#039;&amp;#039;$_FILES&amp;#039;&amp;#039; co nome definido no atributo &amp;quot;&amp;#039;&amp;#039;name&amp;#039;&amp;#039;&amp;quot; do elemento &amp;quot;&amp;#039;&amp;#039;&amp;lt;input&amp;gt;&amp;#039;&amp;#039;&amp;quot;, e cos seguintes membros.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;$_FILES[&amp;#039;ficheiro&amp;#039;][&amp;#039;name&amp;#039;]&amp;#039;&amp;#039;&amp;#039;. Nome orixinal do ficheiro.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;$_FILES[&amp;#039;ficheiro&amp;#039;][&amp;#039;size&amp;#039;]&amp;#039;&amp;#039;&amp;#039;. Tamaño do ficheiro.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;$_FILES[&amp;#039;ficheiro&amp;#039;][&amp;#039;tmp_name&amp;#039;]&amp;#039;&amp;#039;&amp;#039;. Nome temporal do ficheiro recibido no servidor.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;$_FILES[&amp;#039;ficheiro&amp;#039;][&amp;#039;error&amp;#039;]&amp;#039;&amp;#039;&amp;#039;. Código de erro no caso dun envío incorrecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[Usuario:Vlourido|Víctor Lourido]] 12:07 15 jul 2013 (CEST)&lt;/div&gt;</summary>
		<author><name>Vlourido</name></author>
	</entry>
</feed>