Comunidad de diseño web y desarrollo en internet online

Imagen aleatoria con link

Citar            
MensajeEscrito el 08 Ago 2009 03:34 am
Hola,
Espero me puedan ayudar,,, tengo un php que me carga aleatoriamente unas imagenes y me funciona de maravilla, todo bien hasta aqui.
Ahora lo que quiero hacer es que estas imagenes que son cargadas tengan su propio link hacia una direccion url. osea que las imagenes sean los links.

Enseguida les muestro los cogidos para que me puedan ayudar y me indiquen donde que tengo que hacer los cambios necesarios para que trabaje como lo tengo planeado.

Aqui esta el codigo php:

<?php


$folder = 'imgprueba/';
$extList = array();
$extList['jpg'] = 'ban-1.jpg';
$extList['jpg'] = 'ban-2.jpg';
$extList['jpg'] = 'ban-3.jpg';
$extList['jpg'] = 'ban-4.jpg';
$extList['jpg'] = 'ban-5.jpg';

$img = null;

if (substr($folder,-1) != '/') {
$folder = $folder.'/';
}

if (isset($_GET['img'])) {
$imageInfo = pathinfo($_GET['img']);
if (
isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) &&
file_exists( $folder.$imageInfo['basename'] )
) {
$img = $folder.$imageInfo['basename'];
}
} else {
$fileList = array();
$handle = opendir($folder);
while ( false !== ( $file = readdir($handle) ) ) {
$file_info = pathinfo($file);
if (
isset( $extList[ strtolower( $file_info['extension'] ) ] )
) {
$fileList[] = $file;
}
}
closedir($handle);

$ntotal = count($fileList);
if ($ntotal > 0) {
$imageNumber = rand(0,$ntotal-1);
$img = $folder.$fileList[$imageNumber];
}
}

if ($img!=null) {
$imageInfo = pathinfo($img);
$contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ];
header ($contentType);
readfile($img);
} else {
if ( function_exists('imagecreate') ) {
header ("Content-type: image/png");
$im = @imagecreate (300, 100)
or die ("HUBO UN ERROR AL PROCESAR LA IMAGEN .:. MYOKRAM");
$background_color = imagecolorallocate ($im, 255, 255, 255);
$text_color = imagecolorallocate ($im, 0,0,0);
imagestring ($im, 2, 5, 5, "HUBO UN ERROR AL PROCESAR LA IMAGEN .:. MYOKRAM", $text_color);
imagepng ($im);
imagedestroy($im);
}
}
?>




Y aqui es donde hace la carga de las imagenes:

<img src="aleatoria.php?ruta=panel/imgprueba/" border="0" />



Ya he intentado agregarle un link al codigo php de varias formas sin tener un resultado positivo.

Gracias por la valiosa ayuda que me puedan proporcionar.

Por cer

17 de clabLevel



 

msie7
Citar            
MensajeEscrito el 08 Ago 2009 05:33 am
el problema es que el PHP forma la imagen, la pura imagen
el link es aparte, en todo caso, podrias revisar con un PHP (diferente a el que pones arriba) el nombre de la imagen que toma y con un arreglo poner el link
o hacer el random afuera y usarlo para los dos casos....

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 08 Ago 2009 03:51 pm
yo creo que deberias cambiar completamente la forma en haces la seleccion, si no estoy mal esta procesando las imagenes de cabo a rabo. ahora esto funciona pero no se que tan util y sobvrecargado para el server sea!

yo te recomiendo que hagas lago de la siguente forma:
1) creas un arreglo definido con los nombres de las images algo asi:

Código PHP :

$extList = array(
'1'=>'objeto1.jpg'
'2'=>'objeto3.jpg'
'3'=>'objeto3.jpg'
'4'=>'objeto4.jpg'
); 

2)luego con un random obtiebes un numero de 1 al que tengas en el listado
3)luego con lo que obtienes del arreglo ya podes crear el codigo xhtml que te mostrara tu imagen aleatoria y la cubres con un <a .....></a> que apunte a al imagen y listo ya tenes lo que querias!!

salut

Por jpcw

Claber

1715 de clabLevel

1 tutorial

Genero:Masculino  

AlgoritmicBrainDesigner

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.