2 7 ficheros_php
-
Upload
juan-jose-taboada-leon -
Category
Education
-
view
180 -
download
0
Transcript of 2 7 ficheros_php
![Page 1: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/1.jpg)
Unidad Didáctica 2
Programación de documentos
web utilizando lenguajes de script
de servidor
2.7 FICHEROS www.docencia.taboadaleon.es
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva 1
![Page 2: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/2.jpg)
Ficheros o Archivos
Un archivo o fichero informático es
un conjunto de bits almacenado en un
dispositivo
Un archivo es identificado por un
nombre
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
Ejemplos
index.html
gestion.php
ave.jpg
temperaturas.txt
![Page 3: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/3.jpg)
Utilización de archivos externos
La función include()
PHP dispone de funciones que permiten insertar en un documento
una parte o la totalidad de los contenidos de otro.
include("nom. del fichero")
utilizar archivos con extensión .inc.php.
Si el fichero contiene funciones sólo podrá ser invocado una vez
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
ejemplo1.inc.php <h3><font color="#ff0000">Este sería un texto que se incluiría dentro de la página mediante la funciones include o require</font></h3><br>
Ejemplo1.php
<?php include("ejemplo1.inc.php") ?>
Salida HTML:
Este sería un texto que se incluiría dentro de la página mediante la
funciones include o require
![Page 4: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/4.jpg)
Función include (I)
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
funciones.inc.php
<?php function encabezado() { ?> <html> <head>
<title> Pruebas con la función include </title> </head> <body> <center><img src="./images/cabecera.jpg"><br> <font size=6 face="Times" color="#0000ff">Mi cabecera</font><br> <hr width=75%>
<?php } ?> <?php function calcula($a,$b) { return $a*$b; } ?> …….
![Page 5: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/5.jpg)
Función include (II)
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
index.php
Actividades: Haz include1 y 2
<!-- empezaríamos incluyendo el fichero que contiene las funciones. No
escribiría nada hasta que las funciones que contiene no fueran invocadas //-->
<?php include(“funciones.inc.php") ?>
<!-- Insertaremos un script PHP que invoque la función encabezado. Debe
llevar las etiquetas de apertura y cierre <?php y ?> de PHP //-->
<?php encabezado() ?>
<!-- Insertaremos código HTML según nuestra conveniencia //-->
Aquí iría el contenido de la página<br>
.... esto es texto HTML................<br>
...........................<br><br><br>
<!-- Ahora ejecutaremos la función PHP calcula() pasando como parámetros 7
y 9. El return de la función nos devolverá el resultado que imprimiremos aquí //-
->
<?php print "Aquí va el resultado de la multiplicación: ".calcula(7,9); ?>
<!-- Por último invocaremos la función pie() -->
<?php pie() ?>
![Page 6: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/6.jpg)
La función require()
Require(): incluye y evalúa el archivo. Si error E_ERROR
Include() : incluye y evalúa el archivo. Si error E_WARNING
include_once("fichero") y require_once("fichero")
van a impedir que un mismo fichero pueda incluirse dos veces.
$v=get_included_files() : Recoge en un array escalar Los nombres de los ficheros incluidos en el archivo en uso por include_once.
$v=get_required_files() : igual pero para required_once
Utilizando include para gestión de fechas (anterior a 1970) http://phplens.com/lens/dl/adodb-time.zip
include("adodb_time.inc.php");
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
![Page 7: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/7.jpg)
Manejo de ficheros externos
Función fopen() : crea o modifica ficheros
$f1=fopen(fichero,modo)
◦ Función fclose($f1)
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
Ejemplo: $farchivo = fopen(“leame.txt","r"); //procesamiento ……. fclose($farchivo);
$f1 es una variable que
recoge el identificador del recurso
Permite cerrar el fichero especificado en $f1 y
devuelve un valor booleano-
![Page 8: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/8.jpg)
Funciones sobre ficheros
Posicionarse dentro del fichero
(Punteros internos)
Lectura y Escritura en Ficheros
Borrar, Duplicar y Renombrar Ficheros
Funciones informativas
Otras funciones
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
![Page 9: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/9.jpg)
Funciones para posicionarse dentro
del fichero (Punteros Internos)
Funciones
feof($f1)
rewind($f1)
fseek($f1, posición)
ftell($f1)
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
Esta tabla y las próximas sobre el uso de ficheros serán
completadas en las actividades propuestas
![Page 10: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/10.jpg)
Funciones de Lectura y Escritura
Funciones para Leer de Ficheros
readfile(fichero)
$var=file(fichero)
fpassthru($f1)
fgets($f1,long)
fgetc($f1)
Funciones para Escribir en Ficheros
fwrite($f1,"texto",long)
fputs($f1,"texto",long)
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
![Page 11: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/11.jpg)
Funciones de Borrado y más …
Borrado de Ficheros
unlink(fichero)
Duplicado de Ficheros
copy(fich1, fich2)
Renombrar Ficheros rename(fich1, fich2)
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
![Page 12: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/12.jpg)
Funciones de Informativas
Funciones Informativas
file_exists(fichero)
filesize(fichero)
filetype(fichero)
filemtime(fichero)
stat(fichero)
Otras Funciones a través de este enlace
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
Actividades: Haz ficheros1 a ficheros5
![Page 13: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/13.jpg)
Guardar y leer datos transferidos
mediante un formulario
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
<form name="fichero" method="post" action="escribe.php"> <input type="text" name="nombre"> <input type="text" name="apellido"> <input type=“text" name="edad"> <input type="submit" value="enviar"> </form>
<?php $f1=fopen("escribiente.txt","a+"); /*abrimos el fichero en modo a+ */ # leemos los valores transferidos desde el formulario foreach($_POST as $v){ /* añadimos "\r\n“ para que se inserte un salto de línea y limitamos las entradas a 150 caracteres*/ fwrite($f1,$v."\r\n",150); } rewind($f1); /* situamos el puntero interno al comienzo del mismo */ /* leemos el fichero */ while (!feof($f1)) { $z = fgets($f1,250); echo $z,"<br>"; } fclose($f1); # cerramos el fichero ?>
![Page 14: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/14.jpg)
Transferencia de ficheros (I) Primero: la configuración de php.ini
Segundo: el formulario
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
<HTML>
<BODY>
<FORM ENCTYPE="multipart/form-data" ACTION=“procesaFichero.php"
METHOD="post">
# con este input "oculto" establecemos el límite máximo
# del tamaño del fichero a transferir. En este ejemplo 1.000.000 bytes
<INPUT type="hidden" name="lim_tamano" value="1000000">
<p><b>Archivo a transferir<b><br>
<INPUT type="file" name="archivo"></p>
<p><INPUT type="submit" name="enviar" value="Aceptar"></p>
</FORM>
</BODY>
</HTML>
![Page 15: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/15.jpg)
Transferencia de ficheros (II)
Tercero: la transferencia
Por último
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
foreach ($HTTP_POST_FILES['archivo'] as $indice=>$valor){ print $indice."--->".$valor."<br>"; } ?>
En $HTTP_POST_FILES se
recogerán datos relativos al contenido
del fichero y a los resultados de la
transferencia.
Se trata de un array bidimensional.
•Primer índice: es el nombre de variable usado
para la transferencia (el especificado como
name='nm' en el input type='file').
•Los segundos índices
1. Name: nombre original de fichero
2. Type: formato
3. tmp: nombre con el que ha sido guardado en
el directorio temporal
4. Error: tipo de error de transferencia (0,1)
5. Size: el tamaño del archivo
Copia en nuestro espacio de servidor
move_uploaded_file(fich1, fich2) Actividades: Haz fichero6
![Page 16: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/16.jpg)
Funciones de compresión zlib
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
Funciones
$f=gzopen(fich,mod, path) mod: r,w(1 a9). Ejemplo $fichero ='prueba.gz'; $f=gzopen($fichero,"w9",0);
gzclose($f), gzeof($f)
gzseek($f,desplaza), gztell($f), gzrewind($f)
gzread($f, longitud), gzpassthru ($f)
gzwrite($f, cadena, long), gzputs($f, cadena, long), readgzfile($fichero,path)
![Page 17: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/17.jpg)
Comprimiendo cadenas
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
Funciones
gzcompress(cadena, nivel)
gzdeflate(cadena, nivel)
gzencode(cad, niv, opc)
gzuncompress(cadena)
gzinflate(cadena)
![Page 18: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/18.jpg)
Funciones para buferización de
salidas impide que las salidas generadas por el script se envíen al cliente y por tanto no
serán visualizadas en el navegador
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
Funciones
ob_start()
ob_get_contents()
ob_end_clean()
ob_clean()
Ejemplo de un script
que comprime una página web
y la envía comprimida al
cliente
Actividades: Haz fichero7
![Page 19: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/19.jpg)
Funciones FTP
Las estudiaremos a través del siguiente
enlace
funcionesFTP.pdf
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
Actividades: Haz ftp1
![Page 20: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/20.jpg)
Mensajes de correo
Requiere disponer de un servidor de correo
electrónico instalado y activo y la modificación
de la configuración inicial del fichero php.ini.
Pare ello seguiremos el siguiente enlace
Instalación y configuración de un servidor de correo
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
// mail(dest,asunto,mensaje)
<? if(mail("[email protected]", "Mi primer mensaje","Este es el texto")){ print "mensaje enviado"; }else{ print "el mensaje no ha podido enviarse"; } ?>
![Page 21: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/21.jpg)
Ejemplo mensaje de correo
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
<?
mail(“[email protected]","Varios destinatarios","Cuerpo del
mensaje",
"From: CursoPHP <[email protected]>
Reply-To: [email protected] Cc: [email protected],[email protected]
Bcc:[email protected],[email protected]
X-Mailer: PHP/" . phpversion()); ?>
![Page 22: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/22.jpg)
Formatos MIME
(Multipurpose Internet Mail Extensions)
◦ Mensajes multipartes
◦ Mensaje con ficheros adjuntos
(lo veremos en la segunda evaluación)
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva
![Page 23: 2 7 ficheros_php](https://reader034.fdocuments.co/reader034/viewer/2022052706/587cccc01a28abfa018b66b7/html5/thumbnails/23.jpg)
Unidad Didáctica 2
2.7 FICHEROS
FIN
GRACIAS
Juan José Taboada León
2016/2017
Implantación de Aplicaciones
WEB.FICHEROS IES San Sebastián Huelva