2009-12-30 21 views
6

¿Hay una forma sencilla de tener un script php ejecutar algo de HTML en un determinado momento del día?script PHP a ejecutar en determinados momentos

Por ejemplo, tengo en mi página de inicio un encabezado y en ciertos momentos quiero poder agregar algo justo debajo del encabezado, en este caso un iframe.

Sé que todos los trabajos de cron mencionado pero ¿cómo sería este trabajo con eso? también hay una alternativa? No está disponible en todos los hosting

+0

Lo siento, ¿cómo un script 'ejecutar algunos html'? –

+2

@Ben Creo que quiere decir "generar" algo de HTML. –

Respuesta

11

La idea de los trabajos cron y scheudled parece ir en contra de lo que en realidad está tratando de hacer. Si desea que se muestre algo (un iframe en este caso) solo durante ciertas horas, puede simplemente verificar la hora del servidor durante cada solicitud y optar por mostrarla si se encuentra dentro de un período de tiempo determinado.

Algo como esto producirá el mismo efecto que un trabajo cron, con más granularidad, verificando la hora en el momento exacto en que se realiza el requerimiento.

<!-- Your Header here --> 

<?php 
$hour = date('G'); // 0 .. 23 

// Show our iframe between 9am and 5pm 
if ($hour >= 9 && $hour <= 17) { ?> 
    <iframe .... ></iframe> 
<?php } ?> 

pueden ampliar en la sentencia condicional para mostrar el iframe varias veces al día, o hacer que su script de control de cualquier condición externa que busca utilizar para gobernar la pantalla de su marco flotante.

Actualización: tiempos adicionales o tipos de comparaciones podrían ser especificados a través de algo así como

<?php 
$hour = date('G'); 
$day = date('N'); // 1..7 for Monday to Sunday 

if (($hour >= 5 && $hour <= 7) // 5am - 7am 
|| ($hour >= 10 && $hour <= 12) // 10am - 12 noon 
|| ($hour >= 15 && $hour <= 19) // 3pm - 7pm 
|| ($day == 5)     // Friday 
) { ?> 
    <iframe...></iframe> 
<?php } ?> 

La idea de añadir periódicamente/desmontaje del marco flotante desde debajo de su cabecera con un cron del lado del servidor/programador de tareas el trabajo es mucho más complejo que simplemente mostrarlo condicionalmente durante cada solicitud.

Incluso si usted tiene alguna tarea específica que debe ejecutar, como por ejemplo un informe generado periódicamente, el trabajo real de mostrar los resultados no suelen caer sobre la tarea periódica. El script PHP responsable de mostrar que iframe seguiría consultar la base de datos en el momento de la solicitud se hace para cualquier nuevo contenido a mostrar, y mostrarlo si lo encuentra, en lugar de la tarea periódica de alguna manera modificar el guión para incluir un iframe.

+0

Exactamente lo que estaba buscando, pero yo sólo hago parte delantera por lo que todavía estoy un poco perdido en la adición de tiempos adicionales en la alforja. –

2

En los sistemas Unix cron es su mejor opción.

6

Si está ejecutando en Linux, entonces podría tener un trabajo cron.

Si está en Windows, a continuación, utilizar el programador de tareas.

Si se encuentra en un entorno alojado, debe verificar si está permitido.

+3

Si ni está permitido en el (v) host, puede escribir un script PHP línea de comandos que se ejecuta como un demonio y ejecuta las secuencias de comandos a veces configurados. Un último recurso. –

+0

O podría crear un servicio web que lo active y lo llame desde un cuadro que le pertenece. – jeffa00

0

se puede programar la tarea como una tarea programada.

0

Se podría añadir un script PHP a su crontab para ejecutar el script automáticamente a intervalos definidos. Desde la línea de comando, ingrese crontab -e para agregar la entrada a su crontab.

4

Cuando no tiene acceso a trabajos cron o tareas programadas en su servidor, puede usar los servicios en línea como http://pingability.com/ para accionar su secuencia de comandos en intervalos especificados. No es perfecto, pero puede compilar algún tipo de clave secreta y código que asegure que la secuencia de comandos no se ejecute varias veces dentro de un determinado período de tiempo. Puede parecer un poco hacky, pero lo he usado en sistemas en vivo para enviar correos electrónicos diarios y ha estado funcionando bien durante más de un año.

+0

lo probé pero el vínculo parece estar abajo –

+2

http://www.siteuptime.com/ y https://www.websitepulse.com/ parecen ofrecer servicios idénticos. – sjobe

Cuestiones relacionadas