Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: EOF en 17 Enero 2014, 19:10 pm



Título: Ayuda ! ¿como mostrar cada vez una imagen dinamicamente de carpeta sin random?
Publicado por: EOF en 17 Enero 2014, 19:10 pm
Hola, les escribo porque tengo una página web de un cliente, que me pide que la página principal cargue varios banners aleatoriamente, 6 en concreto, y que estos banners sean clickeables es decir un clic encima y te lleva a la pàgina correspondiente del anunciante. Asi mismo los banners se cargan desde una carpeta dinamicamente.

Y mi pregunta es:

¿Quisiera saber como  mostrar cada vez una imagen dinamicamente desde carpeta sin el random ? Es decir cada vez que se pulse F5 mostrar una imagen diferente sin ser aleatoria.
He visto monton de scripts php que las muestran todas a la vez desde una carpeta.
Yo no quiero eso, quiero que las muestre una por una cada vez desde una carpeta pero no aleatorias que sigan un orden.
Si hay 6... F5 <img src="carpeta/1.jpg">...  <img src="carpeta/2.jpg"> Y asi sucesivamente... hasta 6...
PD: Los nombres de las imagenes tambien son generados aleatoriamente porque se sube al hosting mediante una galeria externa ("p18birm2ii1d8bd4co661u4rpo74.jpg") por ejemplo.

Adjunto el script que tengo actualmente de otra página web:

-------------------------------------------------------------------------------------
Código
  1. <?php
  2. $folder = '../../galeria/bundles/cfgallery/datastore/xsi7IoVCnuFpJA2/';
  3.    $extList = array();
  4. $extList['gif'] = 'image/gif';
  5. $extList['jpg'] = 'image/jpeg';
  6. $extList['jpeg'] = 'image/jpeg';
  7. $extList['png'] = 'image/png';
  8.  
  9. $img = null;
  10.  
  11. if (substr($folder,-1) != '/') {
  12. $folder = $folder.'/';
  13. }
  14.  
  15. if (isset($_GET['img'])) {
  16. $imageInfo = pathinfo($_GET['img']);
  17. if (
  18.    isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) &&
  19.        file_exists( $folder.$imageInfo['basename'] )
  20.    ) {
  21. $img = $folder.$imageInfo['basename'];
  22. }
  23. } else {
  24. $fileList = array();
  25. $handle = opendir($folder);
  26. while ( false !== ( $file = readdir($handle) ) ) {
  27. $file_info = pathinfo($file);
  28. if (
  29.    isset( $extList[ strtolower( $file_info['extension'] ) ] )
  30. ) {
  31. $fileList[] = $file;
  32. }
  33. }
  34. closedir($handle);
  35.  
  36. if (count($fileList) > 0) {
  37. $imageNumber = time() % count($fileList);
  38. $img = $folder.$fileList[$imageNumber];
  39. }
  40. }
  41.  
  42. if ($img!=null) {
  43. $imageInfo = pathinfo($img);
  44. $contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ];
  45. header ($contentType);
  46. readfile($img);
  47. } else {
  48. if ( function_exists('imagecreate') ) {
  49. header ("Content-type: image/png");
  50. $im = @imagecreate (100, 100)
  51.    or die ("Cannot initialize new GD image stream");
  52. $background_color = imagecolorallocate ($im, 255, 255, 255);
  53. $text_color = imagecolorallocate ($im, 0,0,0);
  54. imagestring ($im, 2, 5, 5,  "IMAGE ERROR", $text_color);
  55. imagepng ($im);
  56. }
  57. }
  58. ?>
-----------------------------------------------------------------------------------------

Muchas gracias.

NOTA MOD: Los codigos van entre etiquetas GeSHi. [code=php][/code] Leer reglas -> Reglas (http://foro.elhacker.net/php/normas_del_subforo_de_php_actualizado04102007-t148495.0.html)


Título: Re: Ayuda ! ¿como mostrar cada vez una imagen dinamicamente de carpeta sin random?
Publicado por: basickdagger en 21 Enero 2014, 17:32 pm
Código
  1. <?php
  2. $total = "7";
  3. $carpeta = "img";
  4. $start = "1";
  5. $random = mt_rand($start, $total);
  6. if($random=='1'){
  7. echo "<a href='sitio1.php'><img src='$carpeta/1.gif' border='0'></a>";
  8. }
  9. if($random=='2'){
  10. echo "<a href='sitio2.php'><img src='$carpeta/2.gif' border='0'></a>";
  11. }
  12. if($random=='3'){
  13. echo "<a href='sitio3.php'><img src='$carpeta/3.gif' border='0'></a>";
  14. }
  15. if($random=='4'){
  16. echo "<a href='sitio4.php'><img src='$carpeta/4.gif' border='0'></a>";
  17. }
  18. if($random=='5'){
  19. echo "<a href='sitio5.php'><img src='$carpeta/5.gif' border='0'></a>";
  20. }
  21. if($random=='6'){
  22. echo "<a href='sitio6.php'><img src='$carpeta/6.gif' border='0'></a>";
  23. }
  24. if($random=='7'){
  25. echo "<a href='sitio7.php'><img src='$carpeta/7.gif' border='0'></a>";
  26. }
  27. ?>
  28.  

bueno es un ejemplo sencillo, pruébalo, editalo o manejalo como desees... si te da error me dices... salu2