Escribiendo

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.

No comments yet.

No trackbacks yet.