
Modos para salvar datos para usos
posteriores:
◦ Archivos planos: Archivos de texto recomendable
para manejar un volumen pequeño de
información.
◦ Bases de datos: Recomendable para un volumen
grande de información.

Escribir datos a un archivo:

Leer datos de un archivo:
1. Abrir el archivo. Si no existe crearlo.
2. Escribir datos en un archivo.
3. Cerrar el archivo.
1. Abrir el archivo.
2. Leer datos del archivo.
3. Cerrar el archivo.

Se utiliza la función fopen:
◦
◦
◦
◦
◦

$fp =
$fp =
$fp =
$fp =
$fp =
"a");
fopen(“archivo", “modo de archivo");
fopen("../pedidos/pedidos.txt", "a");
fopen(“ftp://pedidos/pedidos.txt", "a");
fopen(“http://www.servidor.com/pedidos.txt", "a");
fopen(“$DOCUMENT_ROOT/../pedidos/pedidos.txt",
Variable preconstruida $DOCUMENT_ROOT: Se
refiere al directorio raíz del documento bajo el cual
se ejecuta actualmente el script, es definido en el
archivo de configuración del servidor.
◦ $fp=fopen(“$DOCUMENT_ROOT/../pedidos/pedidos.txt",
"a");
Modo
Significado
r
Modo lectura: Abre el archivo para leer, empieza desde el principio del
archivo.
r+
Modo lectura: Abre el archivo para leer y Escribir, empieza en el principio del
archivo.
w
Modo escritura: Abre el archivo para escribir, empieza desde el principio del
archivo. Si el archivo ya existe, borra el contenido existente. Si no existe, i
ntentará crearlo.
w+
Modo escritura: Abre el archivo para escribir y leer, empieza desde el
principio del archivo. Si el archivo ya existe, borra el contenido existente. Si
no existe, intentará crearlo.
a
Modo Añadir: Abre el archivo para añadir (escribir) y leer, empezando al final
de los contenidos existentes si los hay.
a+
Modo Añadir: Abre el archivo para añadir (escribir) y leer, empezando al final
de los contenidos existentes si los hay.
b
Modo Binario: Usado junto con alguno de los otros modos. Puede usarse en
Windows. Unix no diferencia entre archivos de texto y binarios

Debemos tener permiso para abrir un archivo.
◦
◦
◦
◦
◦

$fp =
$fp =
$fp =
$fp =
$fp =
"a");
fopen(“ruta archivo", “modo de archivo");
fopen("../pedidos/pedidos.txt", "a");
fopen(“ftp://pedidos/pedidos.txt", "a");
fopen(“http://www.servidor.com/pedidos.txt", "a");
fopen(“$DOCUMENT_ROOT/../pedidos/pedidos.txt",
Variable preconstruida $DOCUMENT_ROOT: Se
refiere al directorio raíz del documento bajo el cual
se ejecuta actualmente el script, es definido en el
archivo de configuración del servidor.
◦ $fp=fopen(“$DOCUMENT_ROOT/../pedidos/pedidos.txt",
"a");

Para escribir en un directorio por encima del
directorio del archivo
◦ @ $fp = fopen("../pedidos/pedidos.txt", "a");

Para escribir en un directorio al mismo nivel
que el archivo
◦ @ $fp = fopen("pedidos/pedidos.txt", "a");

Para escribir en un archivo en el mismo nivel
que el archivo
◦ @ $fp = fopen("pedidos.txt", "a");
@: Suprime cualquier error resultante de la
llamada a la función.


fwrite: Escribe en un archivo
◦ fwrite(“variable”, ”destino”, tamaño);
◦ fwrite($fp, $stringsalida, 100);
Determinar el formato en el que queremos
almacenar los datos
$stringsalida = $date."\t".$actionqty." actionscript\t“
.$photoqty." photoshop\t”.$flashqty." flash\t“
.$totalqty."\t".$totalamount."\t".$direcc."\t“
.$find."\n";

feof (file end-of-file): Permite controlar si se ha
llegado al final del archivo.

fgets: Obtiene una línea del fichero apuntado.

◦ fgets(variable, valor);
fgetss: Recupera los datos de un archivo
eliminando todas las etiquetas html y php, a
menos que indiquemos que etiquetas permitir.
◦ fgetss($fp, 100, “<b>”):

fgetcsv: Guarda datos en un array
◦ fgetcsv ($fp, 100, “\t”);

Comprobar si un archivo existe:

Tamaño en bites de un archivo:

Leer un fragmento del archivo:
◦ file_exist (“ruta_del_archivo”);
◦ filesize (“ruta_del_archivo”);
◦ fread($fp, “125”);


OPCION 1:
readfile: Abre, lee y cierra el archivo
◦ readfile(“ruta del archivo”);

OPCION2:

OPCION 3:

◦ $fp=fopen(“../pedidos/pedidos.txt”, “r”);
◦ fpassthru (“$fp”);
file: abre, guarda en un array y cierra el archivo
◦ file(“../pedidos/pedidos.txt”);
<?php
// archivo a leer
$file = 'texto.txt';
// abrimos el archivo
$fh = fopen($file, 'r') or die('No se puede abrir el archivo!');
// leemos el contenido del archivo
$data = fread($fh, filesize($file)) or die('No es posible leer el
archivo!');
// cerramos el archivo
fclose($fh);
// imprimimos el contenido del archivo
echo $data;
?>
archivo1.php



Tenemos un identificador de archivo creado
por la función fopen(). Esta función recibe
dos argumentos.
Si la función fopen() es exitosa, regresa un
identificador $fh el cual nos permitirá
manipular el archivo posteriormente.
En necesario cerrar el archivo para optimizar
memoria.
<?php
if (!mysql_connect('localhost')) {
echo 'Error al conectar a la base de datos';
exit (0);
}
?>
<?
php if (!mysql_connect('localhost')) {
die ('Error al conectar a la base de datos');
}
?>
Un método alternativo de lectura de datos desde un archivo es la
función file(), que lee el archivo entero en un array con una sola
llamada de función. Cada elemento del array contiene una línea del
archivo. Para mostrar el contenido del archivo simplemente es
necesario iterar sobre el array empleando un foreach () y se
imprime cada elemento (línea).
<?php
// archivo a leer
$file = 'texto.txt';
// Leemos el archivo en el array
$data = file($file) or die('No se puede leer el archivo!');
// loop para imprimir cada línea del archivo
foreach ($data as $line)
{
echo $line;
}
?>
archivo2.php
La escritura en un archivo es similar a la lectura, veamos el
ejemplo
<?php
// Archivo a escribir
$file = 'textow.txt';
// abrir el archivo
$fh = fopen($file, 'w') or die('No se puede abrir el archivo!');
// escribir en el archivo
fwrite($fh, 'Hola amigo') or die('No se puede escribir en el
archivo');
// cerrar el archivo
fclose($fh);
?>
archivo3.php



Define un array asociativo de 4 elementos.
Recorre el arreglo con un foreach() y obtén el
promedio de dichos elementos.
Guarda el resultado en un archivo
“resultado.txt”.

A veces es necesario mantener el estado de una conexión
entre distintas páginas o entre distintas visitas a un mismo
sitio
◦




Ejemplos: aplicaciones personalizadas, carrito de la compra,
control de acceso
HTTP es un protocolo sin estado: cada conexión entre el
cliente y el servidor es independiente de las demás
Para mantener el estado entre diferentes conexiones hay que
establecer lo que se conoce como una sesión
Las sesiones permiten disponer de unas variables con valores
persistentes durante toda la conexión del usuario. Estas
variables pueden almacenarse en el cliente mediante cookies
o en el servidor
PHP dispone de una biblioteca de funciones para la gestión de
sesiones

Funciones de PHP para el manejo de sesiones
(register_globals On)
◦
session_start ()

◦
◦
◦
◦
inicializa una sesión y le asigna un identificador de sesión
único. Si la sesión ya está iniciada, carga todas las variables de
sesión
session_register (variable)

registra una variable de sesión

elimina una variable de sesión

comprueba si una variable está registrada. Devuelve true en
caso afirmativo y false en caso contrario
session_unregister (variable)
session_is_registered (variable)
session_destroy ()

cierra una sesión

El manejo de las sesiones se realiza de la siguiente forma:
◦
◦
◦
Todas las páginas deben realizar una llamada a session_start()
para cargar las variables de la sesión
Esta llamada debe estar colocada antes de cualquier código
HTML
Conviene llamar a session_destroy() para cerrar la sesión

Ejercicio 1: ejemplo simple de sesiones
◦
Ilustra cómo registrar variables, acceder a ellas y
posteriormente eliminarlas.
◦
◦
◦
Ejercicio1.php
Ejercicio1b.php
Ejercicio1c.php



Una cuestión frecuente en un sitio web es
controlar el acceso de los usuarios a una zona
determinada del mismo
La autenticación de usuarios puede realizarse
en el propio servidor web. Así, en Apache los
ficheros .htaccess permiten limitar el acceso a
un determinado recurso del servidor
Una alternativa más compleja pero más flexible
es utilizar PHP junto con una base de datos
para controlar el acceso de los usuarios. Para
ello se utilizan las sesiones

Esquema de una página que utiliza sesiones para autenticar
usuarios:
<?PHP
session_start ();
?>
<HTML LANG="es">
<HEAD> ... </HEAD>
<BODY>
<?PHP
if (isset($_SESSION["usuario_valido"]))
// Código para usuarios autorizados
else
// Mensaje de acceso no autorizado
?>
</BODY>
</HTML>

Ejercicio 2: autenticación de usuarios
◦
Para nuestro sistema de gestión de noticias se va a restringir
el acceso a las operaciones a unos usuarios identificados por
un nombre y una contraseña
◦
La información de los usuarios autorizados se almacenará en
una tabla de la base de datos
◦
Las contraseñas de los usuarios se almacenarán en forma
encriptada
◦
Esquema:
login
mostrar
formulario
consultar
noticias
mostrar
error
menú
insertar
noticia
eliminar
noticia
logout
inicio
no
enviado formulario
sí
datos correctos
no
sí
iniciar sesión
mostrar formulario
no
sesión iniciada
error
mostrar error
sí
menú
consultar noticias
insertar noticia
eliminar noticia
logout
Existen algunas reglas básicas para el manejo de cookies.

Dado que las cookies se utilizan para registrar información
sobre sus actividades en un sitio particular, solo puede ser
leída por el sitio que los creó.

Un dominio no puede establecer más de 20 cookies y cada
cookie se limita a un tamaño máximo de 4 KB.

Una cookie normalmente posee cinco tipos de atributos.

De todos los cinco atributos, sólo el primero no es
opcional.
Atributo
Función
Name
Establece el nombre y el valor de la cookie
Expires
Establece la fecha y la hora en que expira la cookie
path
Establece el directorio de nivel superior en el que la
cookie puede acceder
domain
Establece el dominio para el que la cookie es válida
secure
Establece un indicador booleano que señala que la
cookie debe ser transmitida sólo en una conexión
HTTP segura
Descargar

Ver/Abrir - Repositorio Digital