UNIDAD 6: PHP REGISTROS Y ARCHIVOS DIRECTOS

TEMA 7: PHP ARCHIVOS Y OPERACIONES CON CAMPOS

En este tema se analiza la manera de poder realizar operaciones o procesos con los campos de los registros en el archivo secuencial, lo unico importante a considerar es que los campos del registro son en cierta medida igual que variables normales y por tanto se pueden proceesar de manera normal como lo muestra el ejemplo.

Prog32.php

<HTML>
<FORM ACTION=prog32.php METHOD=post>
<INPUT TYPE=submit NAME=OK VALUE="EDAD+100"><BR>
</FORM></HTML>
<?php
if ($OK == "EDAD+100") {
// tamano registro y cantidad de registros
$TR=47;$CR=filesize('datos.dat') / $TR;
// creando y abriendo archivo
$archivo=fopen('datos.dat','r+') or die("no puedo abrir archivo");
// abriendo en lectura el registro
for($x=1; $x<=(int)$CR; $x=$x+1)
{
// leyendo y desempacando el registro
$reg=fread($archivo,$TR);
$reg= unpack("iclave/A30nombre/iedad/destatura/A1bandera", $reg);
// realizando operacion
$reg[edad]=$reg[edad]+100;
// empacando otra vez
$reg =pack("IA30idA1",$reg[clave],$reg[nombre],$reg[edad],$reg[estatura],$reg[bandera]);
// regresando apuntador al principio del renglon
fseek($archivo, -$TR, SEEK_CUR);
// regrabando registro
fwrite($archivo,$reg,strlen($reg));
};
//cerrando archivo
fclose($archivo);
// avisando
echo "PROCESO TERMINADO";
};
?>

corrida:

image120.jpg

corrida prog28

image121.jpg

como se observa la solucion es muy sencilla solo se ocupa:

1.- leer el registro, esto mueve el apuntador al siguiente registro.

2.- modificar registro

3.- regresar a posicion anterior con fseek()

4.- grabar el registro corregido

y no se ocupan los dos archivos como en el caso secuencial.

TAREAS PROGRAMACION PHP :

CONSTRUIRLES PROGRAMAS QUE PROCESEN ALGUNOS CAMPOS DE LOS ARCHIVOS EJEMPLOS QUE YA TIENEN CONSTRUIDOS.��

Politica de Privacidad