Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/05/2014, 14:02
Avatar de rbnncls
rbnncls
 
Fecha de Ingreso: septiembre-2013
Ubicación: Chipiona, CÁDIZ
Mensajes: 20
Antigüedad: 10 años, 7 meses
Puntos: 0
Sonrisa Respuesta: ¿Ejecutar tarea cada X horas aunque la web esté inactiva?

Muchas gracias pzin, lo que tú dices es una alternativa.

Pero ya estuve buscando una forma de hacerlo mientras estaba en casa sin conexión, y he configurado un código PHP que me vale perfectamente, ¡me puse a dar saltos de alegría al ver que el código que creé funcionaba!

Y solo llevo unos días estudiando PHP

Este es el código, la mayoría del HTML son solo estilos, el PHP es lo principal:

Código HTML:
<html>
	<head>
		<title>Xtemp</title>
	</head>
	<body style="background: rgb(175, 175, 175);">
		<div style="margin:20px auto; width:800px;height:95%;text-align:center;font-size:40px;box-shadow: 0px 10px 50px rgba(0, 0, 0, 0.5);background-color: rgb(236, 255, 249);">
		 <div style="width:100%;height:8px;"></div>
			<h2 style="font-family:Tahoma,Lucida Grande,Verdana,Arial,Sans Serif; color:#5E5E5E;">Contraseñas Xtemp</h2>
			<hr color="#AFAFAF" style="margin-top:-20px;width:99,9%;"/>
			<hr color="#ECFFF9" style="margin-top:-20px;width:99,9%;"/>
			<hr color="#AFAFAF" style="margin-top:-20px;width:99,9%;"/>
			<?php
			/* El objetivo de este código es activar una tarea a X tiempo.
			En este caso, cada X tiempo se ejecutará un generador de contraseñas como
			veremos en el ejemplo. Estas serán almacenadas en un fichero de texto...
			Contraseñas que se usarán para proteger partes en una página web mediante PHP.
			
			En este caso la idea se escriba el día, la hora o el minuto actual en un archivo,
			de modo que se condicione que se compruebe que el día, hora o minuto actual
			sea distinto al anotado en el fichero de texto.
			
			Así conseguiremos que se ejecute u no el script u tarea.
			------------------------------------------------------------
			PARA CAMBIAR ENTRE DÍAS, HORAS O MINUTOS, ES CUESTIÓN DE SUSTITUIR
			LA VARIABLE USADA POR LA QUE QUERAMOS: $dia, $hora o $minutos
			------------------------------------------------------------
			DEBEMOS TENER EN CUENTA QUE EL SCRIPT SOLO SE ACTIVARÁ CUANDO
			UN USUARIO VISITE LA PÁGINA Y POR TANTO SE ACTIVE EL PHP,
			POR ESO ESTO ES MÁS RECOMENDABLE PARA USAR A DIARIO U CADA HORA QUE MINUTOS.
			TAMBIÉN SE PUEDE MODIFICAR Y AÑADIR UN ARRAY DE HORAS U DÍAS 
			------------------------------------------------------------
			Código editado por Ruben Nicolas. */

				setlocale(LC_ALL,"spanish");
				$dia=date("d");
				$hora=date("H");
				$minutos=date("i");
				$segundos=date("s");
				$AbrirActivacion = fopen("C:\\Activacion.txt", "r");
				$LeerActivacion =fgets($AbrirActivacion,100);
				flock ($AbrirActivacion, 3);
				fclose ($AbrirActivacion);
				if ($LeerActivacion != $hora) {
					//Se actualiza el día, la hora o el minuto en el fichero de texto.
					$EscribirDate = fopen("C:\\Activacion.txt", "w+");
					fwrite($EscribirDate, $hora);
					flock ($EscribirDate, 3);
					fclose ($EscribirDate);
					
					//Acción que se ejecuta, en este caso, generador de claves.
					$str = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ-/+!_";
					$clave = "";
					for($i=0; $i<20; $i++) {
						$clave .= substr($str,rand(0,41),1);
						}
					$AbriryEscribirClave = fopen("C:\\Clave.txt", "w+");
					fwrite($AbriryEscribirClave, $clave);
					flock ($AbriryEscribirClave, 3);
					fclose ($AbriryEscribirClave);
			
			//De aquí hacia abajo es código para comprobar el funcionamiento.
					echo "<span style=\"font-family:Tahoma,Lucida Grande,Verdana,Arial,Sans Serif; color:#3C3C3C;\">La clave se acaba de generar</span>";
					$leerpass = fopen("C:\\Clave.txt", "r");
					$password = fgets($leerpass);
					fclose ($leerpass);
					echo "<br><div style=\"color:#444444;border:1px solid #5E5E5E;padding:10px;margin:20px auto 10px auto;width:80%;border-radius:20px;\">".$password."</div>";
				}
				else {
					echo "<span style=\"font-family:Tahoma,Lucida Grande,Verdana,Arial,Sans Serif; color:#3C3C3C;\">La clave está actualizada</span>";
					$leerpass = fopen("C:\\Clave.txt", "r");
					$password = fgets($leerpass);
					fclose ($leerpass);
					echo "<br><div style=\"color:#444444;border:1px solid #5E5E5E;padding:10px;margin:20px auto 10px auto;width:80%;border-radius:20px;\">".$password."</div>";
				}
			?>
		</div>
	</body>
</html> 

Última edición por rbnncls; 13/05/2014 a las 14:27 Razón: Añadir información