PHP - Lista determinada de links en que se muestren en orden a los usuarios

  • Autor Autor dcmdcm
  • Fecha de inicio Fecha de inicio
D

dcmdcm

Beta
SEO
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola Foro.
Tengo la siguiente consulta de PHP, lenguaje en el que no soy muy diestro.

Quiero hacer una lista de links definida, 4 links digamos.
Busco que cuando un usuario entre a la pagina en donde este este codigo de php se le muestre el 1er link, que al proximo usuario al entrar se le muestre el siguiente link de la lista, que al proximo el siguiente link y que al terminar la lista vuelva al primero.

Luego a la variable de php que seria como $linkquesemuestra la puedo llamar por HTML o javascript.

Entiendo que mas o menos lo que necesito es un ciclo for que vaya pasando de link a link desde el lado del servidor y luego cada usuario que entra vea el link que le toque.
Esto es distinto a que le aparezca un enlace al azar, porque de este modo con 20 usuarios cada link se mostraria 5 veces.

Se que algo asi seria mas o menos para que sea random, pero lo que busco es que recorra la lista de forma secuencial cosa que si entran 4 usuarios a cada uno se le muestre un link distinto.
PHP:
<?php

$link[1] = "http://www.sitio1.com";

$link[2] = "http://www.sitio2.com";

$link[3] = "http://www.sitio3.com";

$link[4] = "http://www.sitio4.com";

$id = rand(1,count($link));
 
echo $link[$id];
?>

Alguien podria decirme como seria el codigo?
Entiendo que es simple como destapar una gaseosa pero en php soy como un niño con garfios en vez de manos.
 

con esto solucionas tu dilema
PHP:
<?php
	$NUM = @file_get_contents('numeros.txt');
	if($NUM<=0) $NUM = 0;
	$LNK[] = 'http://www.sitio0.com';
	$LNK[] = 'http://www.sitio1.com';
	$LNK[] = 'http://www.sitio2.com';
	$LNK[] = 'http://www.sitio3.com';
	$LNK[] = 'http://www.sitio4.com';
	$LNK[] = 'http://www.sitio5.com';

	if(count($LNK[$NUM])>$NUM) $NUM = 0;
	echo $LNK[$NUM];

	file_put_contents('numeros.txt',$NUM++);
?>

1- se abre un archivo numeros.txt
2- se ve si el numero del array es vacio, si es asi el numero es 0
3- se crea el array de links
4- si la cantidad de link es mayor al numero guardado se inicia desde 0
5- se muestra el link
6- se guarda el nuevo numero
 
Gracias Cicklow!
Entiendo, pero hay forma de hacerlo sin necesitar de un archivo txt ?
Esto no haria que con 10000 visitas se consuma y tarde mucho en la lectura y escritura?
 
Gracias Cicklow!
Entiendo, pero hay forma de hacerlo sin necesitar de un archivo txt ?
Esto no haria que con 10000 visitas se consuma y tarde mucho en la lectura y escritura?

Es solo lectura de un .txt, cuando vos cargás una página, se leen muchos archivos, uno más (y muy chico) no te va a hacer mucha mucha diferencia.


Saludos!

Si no, la solución es hacerlo random, aunque no es lo mismo, evitás lectura en disco adicional.
 
Esa es la unica forma dcmdcm ya que necesitas guardar en el servidor el ultimo acceso, podrias hacerlo por base de datos.

Pero esto es una función simple y eficaz y recuerda tener creado el archivo o tener permisos en la carpeta para poder escribirlo.
 
Atrás
Arriba