Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/07/2012, 16:23
Avatar de kendall00
kendall00
 
Fecha de Ingreso: septiembre-2011
Ubicación: $Ubicacion => ['Costa Rica'];
Mensajes: 85
Antigüedad: 12 años, 7 meses
Puntos: 5
Pregunta ¿Por qué se suman 2 si es 1?

Hola primero el código:

Código PHP:
Ver original
  1. <?php
  2. #Controlando las solicitudes de página
  3. $path = 'data/visitas_index.php';
  4. $mode = 'c+';
  5. $gestor = fopen($path,$mode);
  6. //Leer el contenido
  7. $contenido = fread($gestor,filesize($path));
  8. //Declarar la variable segun el contenido
  9. $visitas = $contenido;
  10. //Cierro el documento
  11. fclose($gestor);
  12. //Añadir está visita
  13. //Declaro el modo y lo abro (Se formatea el archivo 'Trunca')
  14. $mode_nuevo = 'w';
  15. $gestor_nuevo = fopen ($path, $mode_nuevo);
  16. //Delaro la variable a escribir incluyendo está visita
  17. $write_this = $visitas + 1;
  18. //Escribo la nueva cifra
  19. fwrite ($gestor_nuevo,$write_this);
  20. //Cierro el documento
  21. fclose ($gestor_nuevo);
  22. ?>

En teoria cada vez que se solicita la página se carga el archivo visitas_index.php, se declara la variable $visitas conforme a los datos del archivo $path, todo bien hasta ahí, ahora registro está "visita" (Aunque sé que no lo es, es solo un ejemplo); según: $write_this = $visitas + 1; la variable $write_this debe contener el número de visitas totales registradas en el documento $path más está (el +1), al final lo cierro y muestro el valor de la variable al usuario.

El problema:...
El código debe hacer un +1 en el documento, reemplazando el valor existente por el nuevo (valor de $write_this) pero no sé por que hace un +2, es decir si tengo valor 10 en el documento $path después de todo el proceso queda en 12, cuando debería estar en 11. No sé que hice mal. Por favor si alguien puede decirme que hice mal, se lo agradecería montones.

Aclaración
No hago las validaciones file_exists ni is_writable ya que sé que existe y es editable.
El archvo $path está en el servidor local y no en otro servidor, no utilizo SSL (HTTPS) ni FTP.