Page 98 - Programador-PHP
P. 98
Programación Procedural de Aplicaciones Web de baja complejidad
PHP Experto – Tomo I Eugenia Bahit
indica la cantidad de bytes, se dejará de escribir cuando la
cantidad de bytes se haya alcanzado o cuando la cadena
termine (lo que suceda primero).
$archivo = "archivo.txt";
$recurso = fopen($archivo, "a+");
$nuevo_contenido = "nuevo contenido";
fwrite($recurso, $nuevo_contenido);
$bytes = filesize($archivo);
$contenido = fread($recurso, $bytes);
fclose($recurso);
Moviendo el puntero dentro del archivo
Cuando tenemos que escribir un archivo, es muy útil saber en
qué lugar se encuentra el puntero, y moverlo a la posición
indicada.
Podemos obtener la posición actual del puntero, con la función
ftell($recurso) y movernos hacia el byte indicado, con
fseek($recurso, $byte).
Un contador de visitas sencillo
function contador_de_visitas() {
$archivo = "contador.txt";
$recurso = fopen($archivo, "r+");
$bytes_totales = filesize($archivo);
$contador = fread($recurso, $bytes_totales);
$nuevo_contenido = $contador + 1;
$posicion_actual = ftell($recurso);
if($posicion_actual == $bytes_totales) {
// me muevo al byte 0 para sobreescribir el archivo
fseek($recurso, 0);
}
fwrite($recurso, $nuevo_contenido);
fclose($recurso);
return $nuevo_contenido;
}
98