Links temporales con PHP

03/Oct/2017 PHP , Deja un comentario
programación php

Una de las cosas que nos habéis preguntado en los comentarios es si se pueden crear links temporales con PHP. Es decir, que el link solo aparezca en la página en una franja horaria concreta.

Vamos a ver lo sencillo que es montar links temporales mediante el uso de la función date(). Y es que sabiendo manejar la función date() de PHP podremos obtener la información relativa al día y hora que es de una forma muy sencilla.

Lo primero que tenemos que saber es que a la hora de manejar temas de fechas en PHP y la función date() en concreto, deberemos de fijar al código la zona horaria en la que se ejecuta el programa. Para indicar la zona horaria de ejecución utilizaremos la función date_default_timezone_set(), a la cual podemos indicar una zona como 'Europe/Madrid' o un valor general como 'UTC'. En nuestro caso codificaremos lo siguiente:

  1. date_default_timezone_set('Europe/Madrid');

Lo siguiente que haremos será codificar una función que llamaremos mostrar() que devolverá un valor booleano: true si la fecha coincide con un día de la semana y hora en concreta y false en el resto de los casos.

  1. function mostrar() { }

La función date() recibe una cadena de texto en la cual especificamos el formato sobre la información de la fecha actual que queremos que nos devuelva. En la documentación de la función date veremos todos los valores que se le pueden pasar.

Algunos de ellos son, para días:

  • d, día del mes en dos dígitos.
  • D, representación semanal del día con tres letras. De lunes a domingo.
  • j, día del mes en dos dígitos, pero sin ceros a la izquierda.
  • l, representación textual del día.
  • S, sufijo ordinal inglés. Es el 1st, 2nd,...
  • w, representación numérica de la semana. Qué día de la semana es. Empezando con el 0 para el domingo.
  • z, día del año empezando por 0 y acabando en 365.

Para horas:

  • a, am/pm en minúsculas.
  • A, am/pm en mayúsculas.
  • B, hora Internet de 000 a 999.
  • g, formato de 12 horas sin ceros iniciales.
  • G, formato de 24 horas sin ceros iniciales.
  • h, formato de 12 horas con ceros iniciales.
  • H, formato de 24 horas con ceros iniciales.
  • i, minutos con ceros iniciales.
  • s, segundos con ceros iniciales.
  • u, milisegundos.

... y así muchos más que están en la documentación de la función date().

En nuestro caso vamos a utilizar el modificador 'w' que nos da el día de la semana y 'H' que nos dice la hora en formato 24.

Hay que tener cuidado ya que el valor de 'w' empieza siendo 0 para el domingo, 1 para el lunes y acabando con el 6 para el sábado.

Así codificaremos la función de la siguiente forma para mostrar el enlace solo los domingos de 13h a 14h:

  1. function mostrar() {
  2. if ((date("w") == 0) && (date("H") == 13))
  3. return true;
  4. else
  5. return false;
  6. }

Las condiciones que quieras usar las puedes añadir o modificar en la sentencia if.

Ya solo nos quedará invocar a la función cuando vayamos a pintar el enlace de la siguiente forma:

  1. if (mostrar())
  2. echo '<a href="http://lineadecodigo.com">Enlace En Fecha</a>';
  3.  

Mediante este mecanismo podremos tener links temporales con PHP.

Vídeos sobre PHP


¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*