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
   93   94   95   96   97   98   99   100   101   102   103