Actualizado el 14-01-2007
versión para imprimir
Escribiendo nuevo contenido: fwrite, fputs
fwrite y fputs son funciones identicas. Ambas nos permiten escribir una linea nueva en el fichero (abierto con fopen). La escritura tendra lugar sobreescribiendo el contenido o añadiendolo al final, segun el modo usado con fopen.
Su sintaxis:
fwrite ( file_handler, texto_a_escribir [, longitud])
fputs ( file_handler, texto_a_escribir [, longitud])
el parametro opcional "longitud" nos permite especificar la longitud de la cadena a escribir. Si no lo empleamos, se escribirá entera. Si lo empleamos y la cadena es mas larga que la "longitud", solo se escribirá el numero de carácteres permitido por esta. Si los datos que escribes son a un fichero binario, debes indicar el parámetro de longitud.
La función retorna un numero entero, que será -1 si falla la operación, o el numero de carácteres escritos.
Estas funciones no incluyen saltos de linea, por tanto debes añadirlos si los deseas: '\n' en linux, '\r\n' en Windows.
Ejemplo:
<?php
// avanzamos un paso mas en nuestro contador básico:
// abrimos "contador.txt" en modo lectura
if ($file = fopen( "otros/contador.txt", "r")) {
// $visitas será la variable que almacena el numero de las visitas
// existentes hasta ahora, que leemos de "contador.txt".
// leemos los primeros seis carácteres. Con eso debe bastar
$visitas = (fgets($file, 6));
// Incrementamos en uno para contar la nueva visita.
++$visitas;
// mostramos el resultado
print( "<br>nº de lecturas: $visitas<br>");
// Cerramos "contador.txt"
fclose($file);
}
// ya solo los resta como escribir en el archivo el nuevo dato !!
// Abrimos de nuevo "contador.txt", ahora modo escritura.
if ($file = fopen( "otros/contador.txt", "w")) {
// Escribimos el nuevo numero (recuerda, $visitas + 1)
fputs($file, $visitas);
// Cerramos.
fclose($file);
}
?>
Para que este operador sea operativo tienes que crear un archivo "contador.txt", darle permiso de escritura y grabarlo con un "1" como primer carácter. Luego bastaria incluir el codigo indicado en el ejemplo en la pagina cuyas visitas deseas contar.
Y aqui puedes verlo funcionar.