SlideShare una empresa de Scribd logo
Los formularios  Los Formularios no forman parte de PHP, sino del lenguaje estándar de Internet, HTML, pero como éstos van a aparecer muchas veces durante el curso,  vamos a dedicar esta algunas líneas a ellos. Lo que viene a continuación es HTML y no PHP. Todo formulario comienza con la etiqueta <FORM ACTION=&quot;lo_que_sea.php&quot; METHOD=&quot;post/get&quot;>. Con . Con ACTION indicamos el script que va procesar la información que recogemos en el formulario, mientras que METHOD nos indica si el usuario del formulario va a  enviar datos (post) o recogerlos (get). La etiqueta <FORM> indica el final del formulario. A partir de la etiqueta <FORM> vienen los campos de entrada de datos que pueden ser: Cuadro de texto: <input type=&quot;text&quot; name=&quot;nombre&quot; size=&quot;20&quot; value=&quot;jose&quot;> Cuadro de texto con barras de desplazamiento: <textarea rows=&quot;5&quot; name=&quot;descripcion&quot; cols=&quot;20&quot;>Es de color rojo</textarea> Casilla de verificación: <input type=&quot;checkbox&quot; name=&quot;cambiar&quot; value=&quot;ON&quot;> Botón de opción: <input type=&quot;radio&quot; value=&quot;azul&quot; checked name=&quot;colo
Los formularios Menú desplegable: <select size=&quot;1&qu class=&quot;codigo&quot;><select size=&quot;1&quot; name=&quot;dia&quot;> <option selected value=&quot;lunes&quot;>lunes</option> <option>martes</option> <option value=&quot;miercoles&quot;>miercoles</option> </select> Boton de comando: <input type=&quot;submit&quot; value=&quot;enviar&quot; name=&quot;enviar&quot;> Campo oculto: <input type=&quot;hidden&quot; name=&quot;edad&quot; value=&quot;55&quot;> Este último tipo de campo resulta especialmente útil cuando que remos pasar datos ocultos en un formulario. Como habrás observado todos lo tipos de campo tienen un modificador llamado name, que no es otro que el nombre de la variable con la cual recogeremos los datos en el script indicado por el modificador ACTION de la etiqueta FORMFORM, con value establecemos un valor por defecto. 
Los formularios A continuación veamos un ejemplo, para lo cual crearemos un formulario en HTML como el que sigue y lo llamaremos  formulario.htm :
Los formularios <HTML> <BODY> <FORM METHOD=&quot;post&quot; ACTION=&quot;mis_datos.php&quot;> <input type=&quot;hidden&quot; name=&quot;edad&quot; value=&quot;55&quot;> <p>Tu nombre <input type=&quot;text&quot; name=&quot;nombre&quot; size=&quot;30&quot; value=&quot;jose&quot;></p> <p>Tu sistema favorito  <select size=&quot;1&quot; name=&quot;sistema&quot;> <option selected value=&quot;Linux&quot;>Linux</option> <option value=&quot;Unix&quot;>Unix</option> <option value=&quot;Macintosh&quot;>Macintosh</option> <option value=&quot;Windows&quot;>Windows</option> </select></p> <p>¿Te gusta el futbol ? <input type=&quot;checkbox&quot; name=&quot;futbol&quot; value=&quot;ON&quot;></p> <p>¿Cual es tu sexo?</p>
Los formularios <blockquote> <p>Hombre<input type=&quot;radio&quot; value=&quot;hombre&quot; checked name=&quot;sexo&quot;></p> <p>Mujer <input type=&quot;radio&quot; name=&quot;sexo&quot; value=&quot;mujer&quot;></p> </blockquote> <p>Aficiones</p> <p><textarea rows=&quot;5&quot; name=&quot;aficiones&quot; cols=&quot;28&quot;></textarea></p> <p><input type=&quot;submit&quot; value=&quot;Enviar datos&quot; name=&quot;enviar&quot;>  <input type=&quot;reset&quot; value=&quot;Restablecer&quot; name=&quot;B2&quot;></p> </FORM> </BODY> <HTML>
Los formularios Y ahora creemos el script PHP llamado desde le formulario  mis_datos.php :
Los formularios <?PHP; if ($enviar) { echo &quot;Hola <b>&quot; . $nombre . &quot;</b> que tal estás<BR>\n&quot;; echo &quot;Eres &quot; . $sexo . &quot;<BR>\n&quot;; echo &quot;Tienes &quot; . $edad . &quot;<BR>\n&quot;; echo &quot;Tu sistema favorito es &quot; . $sistema . &quot;<BR>\n&quot;; if ($futbol) { echo &quot;Te gusta el futbol <BR>\n&quot;; }else { echo &quot;NO te gusta el futbol <BR>\n&quot;; } if ($aficiones != &quot;&quot;) { echo &quot;Tus aficiones son: <BR>\n&quot;; echo nl2br($aficiones); } else { echo &quot;NO tienes aficiones <BR>\n&quot;; } } echo &quot;<a href='formulario.htm'>VOLVER AL FORMULARIO</a>&quot; ?>
Los formularios Una vez rellenados los datos del formulario, pulsamos el botón  Enviar datos , con lo que le campo  enviar  toma lo que su etiqueta value indica, es decir  enviar=&quot;Enviar datos&quot; . En nuestro script lo primero que evaluamos es que  se haya enviado el formulario, y para ello nada mejor que comprobar que la variable $enviar no está vacia. Le ponemos el signo dolar delante a  enviar , ya que en PHP todas las variables se les refiere con este signo.
ARCHIVOS Vamos a ver un caso especial, como descargar un archivo desde un formulario. Para ello utilizaremos una etiqueta INPUT de tipo FILE, soportada a partir de las versiones de los navegadores Nestcape Navigato 2.0 e Internet Explorer 4.0. El formulario debe usar el método post, y el atributo post, y el atributo enctype debe tener el valor multipart/form-data. Además al formulario debemos añadirle un campo oculto de nombre MAX_FILE_SIZE, al cuál le daremos el valor en byte del tamaño máximo del archivo a descargar. <FORM ENCTYPE=&quot;multipart/form-data&quot; ACTION=&quot;7-3.php3&quot; METHOD=&quot;post&quot;> <INPUT TYPE=&quot;hidden&quot; name=&quot;MAX_FILE_SIZE&quot; value=&quot;100000&quot;>  <INPUT NAME=&quot;archivo&quot; TYPE=&quot;file&quot;>  <INPUT TYPE=&quot;submit&quot; VALUE=&quot;Descargar Archivo&quot;>  </FORM>
ARCHIVOS Cuando el formulario es enviado, PHP detectarará automaticamente que se está descargando un archivo y lo colocará en un directorio temporal en el servidor. Dicho directorio será que el que esté indicado en el archivo de configuración  php3.ini , o en su defecto en el directorio temporal del sistema.  Cuando PHP dectecta que se está descargando un archivo crea varias variables con el prefijo del nombre del archivo pero con distintas terminaciones. La variable terminada en name contiene el nombre original del archivo, la terminad en _size el tamaño en bytes de éste, y la variable terminada en _type nos indicará el tipo de archivo si éste es ofrecido por el navegador. Si el proceso de descarga no ha sido correcto la variable archivo tomará el valor none y _size será 0, y si el proceso ha sido correcto, pero la variable teminada en _size da 0, quiere decir que el archivo a descarga supera el tamaño máximo indicado por MAX_FILE_SIZE. Una vez descargado el archivo, lo primero que debemos hacer es moverlo a otro lugar, pues sino se hace nada con él, cuando acabe la ejecución de la página se borrará.
ARCHIVOS Posiblente durante nuestra tarea de programación nos surja la necesidad de obtener datos de un fichero, o bien, de crear uno. PHP nos provee de una extensa gama de funciones de acceso a ficheros. En esta lección sólo vamos a las funciones básicas, abrir (fopen), cerrar (fclose), leer (fgets) y escribir (fputs). Estas cuatro nos solventaran la mayoria de problemas queibir (fputs). Estas cuatro nos solventaran la mayoria de problemas que nos surgan con respecto al acceso a ficheros. fopen (archivo, modo) Con esta función abrimos un fichero, bien sea local o una dirección de internet (http:// o ftp://). La función  fopen  nos devuelve un valor numérico (indicador de archivo) de tipo  integer  que nos servirará para hacer referencia al archivo abierto. Con fopen podemos abrir un archivo de los siguientes modos: r    solo lectura r+  lectura y escritura w    solo escritura. Si no existe el archivo lo crea, si ya existe lo machaca. w+  lectura y escritura. Si no existe el archivo lo crea, si ya existe lo machaca. a    solo lectura. Sino existe el archivo lo crea, si ya existe empieza a escribir al final del archivo. a+  lectura y escritura. Sino existe el archivo lo crea, si ya existe empieza a escribir al final del archivo.
ARCHIVOS fgets (indicador_archivo, longitud) La función  fgets  nos devuelve una cadena con la longitud especifica del fichero al que apunta el indicador de archivo. <?PHP //abre un archivo e imprime cada linea $archivo = fopen(&quot;data.txt&quot; , &quot;r&quot;); if ($archivo) { while (!feof($archivo)) { $linea = fgets($archivo, 255); echo $linea; } } fclose ($archivo); ?>
ARCHIVOS fgets (indicador_archivo, longitud) La función  fgets  nos devuelve una cadena con la longitud especifica del fichero al que apunta el indicador de archivo. <?PHP //abre un archivo e imprime cada linea $archivo = fopen(&quot;dlass=&quot;codigo&quot;>$archivo = fopen(&quot;data.txt&quot; , &quot;r&quot;); if ($archivo) { while (!feof($archivo)) { $linea = fgets($archivo, 255); echo $linea; } } fclose ($archivo); ?> La función  feof  devuelve TRUE si puntero de lectura/escritura se encuetra al final del fichero, y FALSE en caso contrario.   fputs (indicador_archivo, cadena) La función  fputs  escribe una cadena en el fichero indicado. Para escribir en una archivo este debe haber sido previamente abierto. La función  fputs  devuelve TRUE si se ha escrito con éxito, en caso contrario devuelve FALSE. <?PHP //abre un archivo y escribe en él $archivo = fopen(&quot;data.txt&quot; , &quot;w&quot;); if ($archivo) { fputs ($archivo, &quot;Hola Mundo&quot;); } fclose ($archivo); ?> <); ?>   fclose (indicador_archivo) Con esta función cerramos el fichero que nos marca el indicador de archivo, devuelve TRUE si el fichero se cierra correctamente y FALSE sino se ha podido cerrar.   file_exists (fichero) Esta función devuelve TRUE si el archivo especificado existe, y FALSE en caso contrario. <?PHP if (file_exists(&quot;data.txt&quot;)) { echo &quot;El fichero existe&quot;; } else { echo &quot;El fichero NO existe&quot;; } ?>  
ARCHIVOS copy (origen, destino) La función copy copia un fichero de un lugar (origen) a otro (destino), devuelve TRUE si la copia a tenido éxito y FALSE en caso contrario. <?PHP if (copy(&quot;data.txt&quot;, &quot;/tmp/data.txt&quot;)) { echo &quot;El fichero ha sido copiado con éxito&quot;; } else { echo &quot;El fichero NO se ha podido copiar&quot;; } ?>  
Archivo 1 <!doctype html public &quot;-//W3C//DTD HTML 4.0 //EN&quot;> <html> <head> <title>Title here!</title> </head> <body> <?php $f=fopen(&quot;contador.txt&quot;,&quot;a+&quot;); $contador=fgets($f); $contador=$contador+1; fclose($f); $g=fopen(&quot;contador.txt&quot;,&quot;w&quot;); fwrite($g,&quot;$contador&quot;); fclose($g); echo &quot;Has entrado $contador veces&quot;; ?> </body> </html>
Archivo 2 <html> <head> <title>Title here!</title> </head> <body> <form action=&quot;Archivo2.php&quot;> Introduce tus comentarios <textarea name=&quot;comentario&quot; rows=5 cols=30 wrap=&quot;off&quot;></textarea> <input type=&quot;submit&quot; value=&quot;Enviar&quot;> <input type=&quot;reset&quot; value=&quot;Borrar&quot;> </form> <?php if (isset($comentario)){ $f=fopen(&quot;comentarios.txt&quot;,&quot;a+&quot;); $fecha=date(&quot;d/M/Y H:i:s&quot;); fwrite($f,&quot;Comentario enviado el $fecha: &quot;); fwrite($f,$comentario); fclose($f); print &quot;Su comentario ha quedado registrado , gracias&quot;; } ?> </body> </html>
Archivo 3 <body> <?php $f=fopen(&quot;comas.txt&quot;,&quot;r&quot;); while (!feof($f)){ $linea=fgets($f); $numeros=explode(&quot;,&quot;,$linea); echo&quot;<table><tr>&quot;; foreach ($numeros as $elementos){ echo&quot;<td>$elementos</td>&quot;;} echo &quot;</tr>&quot;; } echo&quot;</table>&quot;; fclose($f);

Más contenido relacionado

PDF
Gestion de formularios php
PPT
Tema3
PDF
Guardar en base de datos MySQL desde HTML con PHP.
PDF
Manual de la conexión de php con sqlserver 2012
PDF
2 7 ficheros_php
PPTX
Programación de códigos en PHP
PDF
PHP Tema 3 - Formularios
Gestion de formularios php
Tema3
Guardar en base de datos MySQL desde HTML con PHP.
Manual de la conexión de php con sqlserver 2012
2 7 ficheros_php
Programación de códigos en PHP
PHP Tema 3 - Formularios

La actualidad más candente (20)

DOCX
Formulario
PPTX
Configuración del entorno
PDF
35 php-my sql
PDF
desarrolo de sitios web php y mysql
PPTX
Programacion iv sesion6 php
PDF
Django: el framework web definitivo
PPT
Tema3[php]
PDF
Inf 14 (ventadellantas) rines
PDF
Guia programacionwebdesarrollositiosweb
PDF
2 1 sintaxis_php
PPTX
Lenguaje de programacion php
PDF
Conociendo el Patron Modelo Vista Controlador
PDF
2 5 funciones_php
PDF
PHP Tema 7 - Seguridad
PPT
tutorial de slide.com
PDF
Inf 13 (switch)
PDF
Inf 4 (cotizacion de autos)
PDF
Guia programacionwebbasicophp
Formulario
Configuración del entorno
35 php-my sql
desarrolo de sitios web php y mysql
Programacion iv sesion6 php
Django: el framework web definitivo
Tema3[php]
Inf 14 (ventadellantas) rines
Guia programacionwebdesarrollositiosweb
2 1 sintaxis_php
Lenguaje de programacion php
Conociendo el Patron Modelo Vista Controlador
2 5 funciones_php
PHP Tema 7 - Seguridad
tutorial de slide.com
Inf 13 (switch)
Inf 4 (cotizacion de autos)
Guia programacionwebbasicophp
Publicidad

Destacado (20)

PPTX
Escuela de formacion deportiva es tiempo de futbol
PPT
Futbol 2.0
PDF
Guia formularios 2007
PPT
Fútbol café. corporación deportiva estudiantes
PPT
Escuelas de futbol
PPTX
Ficha tecnica
DOCX
PROYECTO CLUB DE FÚTBOL
PPTX
Trabajo de campo sobre consumidor deportivo
DOCX
Control y entrenamiento deportivo
PDF
Futbolescuela
PPTX
Trabajo final proyecto
DOCX
Cómo debemos entender el fútbol base
PDF
Orientaciones para el entrenador nóvel de fútbol base
DOCX
Ficha técnica de patronaje
DOC
periodización y planificación
DOCX
Generalidades sobre el control y los test en el entrenamiento deportivo
PDF
Balance Area Deportiva (Verano 2014)
PDF
Proyecto metodologico escuela deportiva Sofan
PDF
Futbol base planificacion objetivos
PDF
Proceso formativo en el futbol base
Escuela de formacion deportiva es tiempo de futbol
Futbol 2.0
Guia formularios 2007
Fútbol café. corporación deportiva estudiantes
Escuelas de futbol
Ficha tecnica
PROYECTO CLUB DE FÚTBOL
Trabajo de campo sobre consumidor deportivo
Control y entrenamiento deportivo
Futbolescuela
Trabajo final proyecto
Cómo debemos entender el fútbol base
Orientaciones para el entrenador nóvel de fútbol base
Ficha técnica de patronaje
periodización y planificación
Generalidades sobre el control y los test en el entrenamiento deportivo
Balance Area Deportiva (Verano 2014)
Proyecto metodologico escuela deportiva Sofan
Futbol base planificacion objetivos
Proceso formativo en el futbol base
Publicidad

Similar a Formularios Y Archivos En Php (20)

PPT
Tema3[Php]
PPT
fonciones
PDF
Unidad 3 ficheros
PDF
Curso php y_mysql
PPTX
Introducción a PHP
PDF
Introducción a php
PPTX
3 Introducción al lenguaje PHP
PPTX
Introducción a PHP
PDF
Tutorial de php
PPTX
Conociendo php (201009)
DOC
Php
PDF
4.Programación con PHP y MySQL
PDF
MAnual de php básico
PPTX
Introduccion A Php
 
PPTX
Introduccion A Php
 
PPTX
Introduccion A Php
 
PPTX
Introducción a PHP
PPTX
Introducción a programación con PHP
PPSX
Proyectos Web 3 Introduccion Php
Tema3[Php]
fonciones
Unidad 3 ficheros
Curso php y_mysql
Introducción a PHP
Introducción a php
3 Introducción al lenguaje PHP
Introducción a PHP
Tutorial de php
Conociendo php (201009)
Php
4.Programación con PHP y MySQL
MAnual de php básico
Introduccion A Php
 
Introduccion A Php
 
Introduccion A Php
 
Introducción a PHP
Introducción a programación con PHP
Proyectos Web 3 Introduccion Php

Más de ConfesorAD (20)

PPSX
Las redes sociales jose luis de la mata
PPTX
Ordenadores francisco mingo
PPSX
Practica profesional personal cesar cocho
PPTX
Presentación personal adrián almeida cuadrado
PPTX
Sistemas operativos ao moises sarabia
DOCX
Ejercicio de manual de-word
DOCX
Unidades funcionales detalle
PPTX
Introducción montaje y mantenimiento de equipos
PDF
Glosario
PDF
Introducción a funcionamiento de equipos
DOCX
Webquest para aplicaciones ofimáticas
PPT
Introducción a sistemas informáticos
PPT
PPTX
01 metprogramacion
PPT
Inicio del ordenador
PPT
Presentación trabajo moto gp --
PPT
Representacion trabajo consolas
PPT
Representacion trabajo consolas
PPT
Presentación trabajo moto gp --
PDF
21331396 Google Docs
Las redes sociales jose luis de la mata
Ordenadores francisco mingo
Practica profesional personal cesar cocho
Presentación personal adrián almeida cuadrado
Sistemas operativos ao moises sarabia
Ejercicio de manual de-word
Unidades funcionales detalle
Introducción montaje y mantenimiento de equipos
Glosario
Introducción a funcionamiento de equipos
Webquest para aplicaciones ofimáticas
Introducción a sistemas informáticos
01 metprogramacion
Inicio del ordenador
Presentación trabajo moto gp --
Representacion trabajo consolas
Representacion trabajo consolas
Presentación trabajo moto gp --
21331396 Google Docs

Formularios Y Archivos En Php

  • 1. Los formularios Los Formularios no forman parte de PHP, sino del lenguaje estándar de Internet, HTML, pero como éstos van a aparecer muchas veces durante el curso,  vamos a dedicar esta algunas líneas a ellos. Lo que viene a continuación es HTML y no PHP. Todo formulario comienza con la etiqueta <FORM ACTION=&quot;lo_que_sea.php&quot; METHOD=&quot;post/get&quot;>. Con . Con ACTION indicamos el script que va procesar la información que recogemos en el formulario, mientras que METHOD nos indica si el usuario del formulario va a  enviar datos (post) o recogerlos (get). La etiqueta <FORM> indica el final del formulario. A partir de la etiqueta <FORM> vienen los campos de entrada de datos que pueden ser: Cuadro de texto: <input type=&quot;text&quot; name=&quot;nombre&quot; size=&quot;20&quot; value=&quot;jose&quot;> Cuadro de texto con barras de desplazamiento: <textarea rows=&quot;5&quot; name=&quot;descripcion&quot; cols=&quot;20&quot;>Es de color rojo</textarea> Casilla de verificación: <input type=&quot;checkbox&quot; name=&quot;cambiar&quot; value=&quot;ON&quot;> Botón de opción: <input type=&quot;radio&quot; value=&quot;azul&quot; checked name=&quot;colo
  • 2. Los formularios Menú desplegable: <select size=&quot;1&qu class=&quot;codigo&quot;><select size=&quot;1&quot; name=&quot;dia&quot;> <option selected value=&quot;lunes&quot;>lunes</option> <option>martes</option> <option value=&quot;miercoles&quot;>miercoles</option> </select> Boton de comando: <input type=&quot;submit&quot; value=&quot;enviar&quot; name=&quot;enviar&quot;> Campo oculto: <input type=&quot;hidden&quot; name=&quot;edad&quot; value=&quot;55&quot;> Este último tipo de campo resulta especialmente útil cuando que remos pasar datos ocultos en un formulario. Como habrás observado todos lo tipos de campo tienen un modificador llamado name, que no es otro que el nombre de la variable con la cual recogeremos los datos en el script indicado por el modificador ACTION de la etiqueta FORMFORM, con value establecemos un valor por defecto. 
  • 3. Los formularios A continuación veamos un ejemplo, para lo cual crearemos un formulario en HTML como el que sigue y lo llamaremos formulario.htm :
  • 4. Los formularios <HTML> <BODY> <FORM METHOD=&quot;post&quot; ACTION=&quot;mis_datos.php&quot;> <input type=&quot;hidden&quot; name=&quot;edad&quot; value=&quot;55&quot;> <p>Tu nombre <input type=&quot;text&quot; name=&quot;nombre&quot; size=&quot;30&quot; value=&quot;jose&quot;></p> <p>Tu sistema favorito  <select size=&quot;1&quot; name=&quot;sistema&quot;> <option selected value=&quot;Linux&quot;>Linux</option> <option value=&quot;Unix&quot;>Unix</option> <option value=&quot;Macintosh&quot;>Macintosh</option> <option value=&quot;Windows&quot;>Windows</option> </select></p> <p>¿Te gusta el futbol ? <input type=&quot;checkbox&quot; name=&quot;futbol&quot; value=&quot;ON&quot;></p> <p>¿Cual es tu sexo?</p>
  • 5. Los formularios <blockquote> <p>Hombre<input type=&quot;radio&quot; value=&quot;hombre&quot; checked name=&quot;sexo&quot;></p> <p>Mujer <input type=&quot;radio&quot; name=&quot;sexo&quot; value=&quot;mujer&quot;></p> </blockquote> <p>Aficiones</p> <p><textarea rows=&quot;5&quot; name=&quot;aficiones&quot; cols=&quot;28&quot;></textarea></p> <p><input type=&quot;submit&quot; value=&quot;Enviar datos&quot; name=&quot;enviar&quot;>  <input type=&quot;reset&quot; value=&quot;Restablecer&quot; name=&quot;B2&quot;></p> </FORM> </BODY> <HTML>
  • 6. Los formularios Y ahora creemos el script PHP llamado desde le formulario mis_datos.php :
  • 7. Los formularios <?PHP; if ($enviar) { echo &quot;Hola <b>&quot; . $nombre . &quot;</b> que tal estás<BR>\n&quot;; echo &quot;Eres &quot; . $sexo . &quot;<BR>\n&quot;; echo &quot;Tienes &quot; . $edad . &quot;<BR>\n&quot;; echo &quot;Tu sistema favorito es &quot; . $sistema . &quot;<BR>\n&quot;; if ($futbol) { echo &quot;Te gusta el futbol <BR>\n&quot;; }else { echo &quot;NO te gusta el futbol <BR>\n&quot;; } if ($aficiones != &quot;&quot;) { echo &quot;Tus aficiones son: <BR>\n&quot;; echo nl2br($aficiones); } else { echo &quot;NO tienes aficiones <BR>\n&quot;; } } echo &quot;<a href='formulario.htm'>VOLVER AL FORMULARIO</a>&quot; ?>
  • 8. Los formularios Una vez rellenados los datos del formulario, pulsamos el botón Enviar datos , con lo que le campo enviar toma lo que su etiqueta value indica, es decir enviar=&quot;Enviar datos&quot; . En nuestro script lo primero que evaluamos es que  se haya enviado el formulario, y para ello nada mejor que comprobar que la variable $enviar no está vacia. Le ponemos el signo dolar delante a enviar , ya que en PHP todas las variables se les refiere con este signo.
  • 9. ARCHIVOS Vamos a ver un caso especial, como descargar un archivo desde un formulario. Para ello utilizaremos una etiqueta INPUT de tipo FILE, soportada a partir de las versiones de los navegadores Nestcape Navigato 2.0 e Internet Explorer 4.0. El formulario debe usar el método post, y el atributo post, y el atributo enctype debe tener el valor multipart/form-data. Además al formulario debemos añadirle un campo oculto de nombre MAX_FILE_SIZE, al cuál le daremos el valor en byte del tamaño máximo del archivo a descargar. <FORM ENCTYPE=&quot;multipart/form-data&quot; ACTION=&quot;7-3.php3&quot; METHOD=&quot;post&quot;> <INPUT TYPE=&quot;hidden&quot; name=&quot;MAX_FILE_SIZE&quot; value=&quot;100000&quot;>  <INPUT NAME=&quot;archivo&quot; TYPE=&quot;file&quot;>  <INPUT TYPE=&quot;submit&quot; VALUE=&quot;Descargar Archivo&quot;>  </FORM>
  • 10. ARCHIVOS Cuando el formulario es enviado, PHP detectarará automaticamente que se está descargando un archivo y lo colocará en un directorio temporal en el servidor. Dicho directorio será que el que esté indicado en el archivo de configuración php3.ini , o en su defecto en el directorio temporal del sistema.  Cuando PHP dectecta que se está descargando un archivo crea varias variables con el prefijo del nombre del archivo pero con distintas terminaciones. La variable terminada en name contiene el nombre original del archivo, la terminad en _size el tamaño en bytes de éste, y la variable terminada en _type nos indicará el tipo de archivo si éste es ofrecido por el navegador. Si el proceso de descarga no ha sido correcto la variable archivo tomará el valor none y _size será 0, y si el proceso ha sido correcto, pero la variable teminada en _size da 0, quiere decir que el archivo a descarga supera el tamaño máximo indicado por MAX_FILE_SIZE. Una vez descargado el archivo, lo primero que debemos hacer es moverlo a otro lugar, pues sino se hace nada con él, cuando acabe la ejecución de la página se borrará.
  • 11. ARCHIVOS Posiblente durante nuestra tarea de programación nos surja la necesidad de obtener datos de un fichero, o bien, de crear uno. PHP nos provee de una extensa gama de funciones de acceso a ficheros. En esta lección sólo vamos a las funciones básicas, abrir (fopen), cerrar (fclose), leer (fgets) y escribir (fputs). Estas cuatro nos solventaran la mayoria de problemas queibir (fputs). Estas cuatro nos solventaran la mayoria de problemas que nos surgan con respecto al acceso a ficheros. fopen (archivo, modo) Con esta función abrimos un fichero, bien sea local o una dirección de internet (http:// o ftp://). La función fopen nos devuelve un valor numérico (indicador de archivo) de tipo integer que nos servirará para hacer referencia al archivo abierto. Con fopen podemos abrir un archivo de los siguientes modos: r    solo lectura r+  lectura y escritura w    solo escritura. Si no existe el archivo lo crea, si ya existe lo machaca. w+  lectura y escritura. Si no existe el archivo lo crea, si ya existe lo machaca. a    solo lectura. Sino existe el archivo lo crea, si ya existe empieza a escribir al final del archivo. a+  lectura y escritura. Sino existe el archivo lo crea, si ya existe empieza a escribir al final del archivo.
  • 12. ARCHIVOS fgets (indicador_archivo, longitud) La función fgets nos devuelve una cadena con la longitud especifica del fichero al que apunta el indicador de archivo. <?PHP //abre un archivo e imprime cada linea $archivo = fopen(&quot;data.txt&quot; , &quot;r&quot;); if ($archivo) { while (!feof($archivo)) { $linea = fgets($archivo, 255); echo $linea; } } fclose ($archivo); ?>
  • 13. ARCHIVOS fgets (indicador_archivo, longitud) La función fgets nos devuelve una cadena con la longitud especifica del fichero al que apunta el indicador de archivo. <?PHP //abre un archivo e imprime cada linea $archivo = fopen(&quot;dlass=&quot;codigo&quot;>$archivo = fopen(&quot;data.txt&quot; , &quot;r&quot;); if ($archivo) { while (!feof($archivo)) { $linea = fgets($archivo, 255); echo $linea; } } fclose ($archivo); ?> La función feof devuelve TRUE si puntero de lectura/escritura se encuetra al final del fichero, y FALSE en caso contrario.   fputs (indicador_archivo, cadena) La función fputs escribe una cadena en el fichero indicado. Para escribir en una archivo este debe haber sido previamente abierto. La función fputs devuelve TRUE si se ha escrito con éxito, en caso contrario devuelve FALSE. <?PHP //abre un archivo y escribe en él $archivo = fopen(&quot;data.txt&quot; , &quot;w&quot;); if ($archivo) { fputs ($archivo, &quot;Hola Mundo&quot;); } fclose ($archivo); ?> <); ?>   fclose (indicador_archivo) Con esta función cerramos el fichero que nos marca el indicador de archivo, devuelve TRUE si el fichero se cierra correctamente y FALSE sino se ha podido cerrar.   file_exists (fichero) Esta función devuelve TRUE si el archivo especificado existe, y FALSE en caso contrario. <?PHP if (file_exists(&quot;data.txt&quot;)) { echo &quot;El fichero existe&quot;; } else { echo &quot;El fichero NO existe&quot;; } ?>  
  • 14. ARCHIVOS copy (origen, destino) La función copy copia un fichero de un lugar (origen) a otro (destino), devuelve TRUE si la copia a tenido éxito y FALSE en caso contrario. <?PHP if (copy(&quot;data.txt&quot;, &quot;/tmp/data.txt&quot;)) { echo &quot;El fichero ha sido copiado con éxito&quot;; } else { echo &quot;El fichero NO se ha podido copiar&quot;; } ?>  
  • 15. Archivo 1 <!doctype html public &quot;-//W3C//DTD HTML 4.0 //EN&quot;> <html> <head> <title>Title here!</title> </head> <body> <?php $f=fopen(&quot;contador.txt&quot;,&quot;a+&quot;); $contador=fgets($f); $contador=$contador+1; fclose($f); $g=fopen(&quot;contador.txt&quot;,&quot;w&quot;); fwrite($g,&quot;$contador&quot;); fclose($g); echo &quot;Has entrado $contador veces&quot;; ?> </body> </html>
  • 16. Archivo 2 <html> <head> <title>Title here!</title> </head> <body> <form action=&quot;Archivo2.php&quot;> Introduce tus comentarios <textarea name=&quot;comentario&quot; rows=5 cols=30 wrap=&quot;off&quot;></textarea> <input type=&quot;submit&quot; value=&quot;Enviar&quot;> <input type=&quot;reset&quot; value=&quot;Borrar&quot;> </form> <?php if (isset($comentario)){ $f=fopen(&quot;comentarios.txt&quot;,&quot;a+&quot;); $fecha=date(&quot;d/M/Y H:i:s&quot;); fwrite($f,&quot;Comentario enviado el $fecha: &quot;); fwrite($f,$comentario); fclose($f); print &quot;Su comentario ha quedado registrado , gracias&quot;; } ?> </body> </html>
  • 17. Archivo 3 <body> <?php $f=fopen(&quot;comas.txt&quot;,&quot;r&quot;); while (!feof($f)){ $linea=fgets($f); $numeros=explode(&quot;,&quot;,$linea); echo&quot;<table><tr>&quot;; foreach ($numeros as $elementos){ echo&quot;<td>$elementos</td>&quot;;} echo &quot;</tr>&quot;; } echo&quot;</table>&quot;; fclose($f);