PHP - Ejecutar PHP un día a una hora concreta

 
Vista:
sin imagen de perfil

Ejecutar PHP un día a una hora concreta

Publicado por Jose (36 intervenciones) el 24/10/2013 01:37:09
Buen dia!!

Lo que necesito hacer es que cuando sea dia sabado a las 4pm todos mis datos de mi base de datos se borren entonces necesito saber como hacer esa cuenta

Gracias .
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ejecutar PHP un día a una hora concreta

Publicado por xve (6935 intervenciones) el 24/10/2013 08:04:03
Hola Jose, desde PHP directamente, que yo sepa, no podrás hacerlo, ya que en PHP no puedes crear una tarea programada.

Para ello, dependiendo del servidor que estés utilizando, podrás crear una "tarea programada" en caso de Windows o utilizar "cron" en caso de Linux.

No se que tipo de base de datos estas utilizando, pero si por ejemplo es MySQL, no es necesario hacerlo con PHP, puedes hacerlo con cualquier otro lenguaje que corra en tu PC.

Espero que te sirva... si nos comentas con mas detalle...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ejecutar PHP un día a una hora concreta

Publicado por franco190453 (1 intervención) el 25/10/2013 01:35:12
Jose:

Observa esto que yo hago:
1
2
3
4
5
6
7
8
9
10
11
12
13
#!c:\php\php.exe -q
<?php
$mimanejo = 77;
$contrasena = 30;
$tiempos = 10;
for($w = 0; $w < $tiempos; $w++) {
sleep($contrasena);
$prueba = fopen("$mimanejo.txt","w+");
fclose($prueba);
$mimanejo++;
include('mail.php');
}
?>
Con php desde la linea de comandos.
Ahora bien, facilmente podrias utilizar <time> de php
para que ha determinado dia, mes, dia y hora ejecute cualquier
programa en php.

En el php.ini debes tener
max_execution_time = 0 ; Maximum execution time of each script, in seconds

Saludos
Franco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ejecutar PHP un día a una hora concreta

Publicado por xve (6935 intervenciones) el 25/10/2013 07:48:05
Hola Franco, pero como haces para ejecutar ese archivo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Ejecutar PHP un día a una hora concreta

Publicado por Elier (92 intervenciones) el 25/10/2013 16:26:54
Puedes hacerlo ejecutando el script localmente o haciendo una llamada HTTP

1- Ejecutar el script localmente

Añade a la variable de entorno PATH el camino donde está instalado PHP
Creas una carpeta borrardatos, dentro un archivo borrardatos.bat y borrardatos.php
En el archivo borrardatos.bat escribe

php c:\borrardatos\borrardatos.php

Vas a panel de control - tareas programadas y creas una tarea para que ejecute el archivo borrardatos.bat

2- Hacer una llamada HTTP usando CURL

Descarga CURL del sitio http://curl.haxx.se/download.html y descompactalo
Añade a la variable de entorno PATH el camino donde esta CURL
Creas una carpeta borrardatos y dentro un archivo borrardatos.bat
En el archivo borrardatos.bat escribe

curl http://localhost/borrardatos.php

si es un servidor remoto curl http://tudominio.com/borrardatos.php

Vas a panel de control - tareas programadas y creas una tarea para que ejecute el archivo borrardatos.bat.

Para más información sobre el uso de CURL revisa la documentación

http://curl.haxx.se/docs/httpscripting.html

Esto mismo lo puedes hacer usando CRON en linux
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Marco Antonio
Val: 12
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ejecutar PHP un día a una hora concreta

Publicado por Marco Antonio (1 intervención) el 25/10/2013 16:47:58
Hola que tal,


Amigo las opciones arriba son validas, no se que version de mysql estes usando pero te comento que el servidor mysql soporta eventos, estos se ejecutan la fecha hora que tu quieras
puedes hacer un procedimiento almacenado donde tengos todo tu escript sql de borrado de informacion

luego creas un evento que llame a ese procedimiento te dejo un ejemplo


Delimiter $$
CREATE DEFINER=`root`@`localhost` EVENT `nnombre_del_evento`
ON SCHEDULE EVERY 1 YEAR STARTS '2013-08-24 20:30:00' ON COMPLETION NOT PRESERVE DISABLE DO BEGIN

## Ejecucion SP
CALL tubasededatos.nombre_de_tu_procedimiento_almacenado();

END
$$
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar

Ejecutar PHP un día a una hora concreta

Publicado por luis (4 intervenciones) el 10/07/2016 19:51:48
hola, podrian explicarse un poco mas??? no entiendo lo que dicen, yo tengo el mismo problema, quiero insertar un registro en una hora especifica automaticamente en mi BD mysql, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Ejecutar PHP un día a una hora concreta

Publicado por angel oviedo (2 intervenciones) el 30/03/2018 02:50:34
holamarco antonio, me parece mas simple tu propuesta a la solucion, mi caso es que diariamente a una hora se cambie el status de un articulo a "aprobado" y se pueda publicar en automatico sabiendo que se ingresan ala base de datos con mucha anterioridad.

tendras un ejemplo completo de cual seria el procedimiento?
como esto se realizaría en phpmyadmin en el servidor? o via un archivito?

Gracias de antemano por tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar