Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/04/2012, 18:04
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: ¿como cargar imagenes con JS sin saber extensión ni nombre?

Podés hacer algo asi (cuidado que le removói algunas cosas, la idea es que al hacer el readdir() no imprimas la salida, sino que la pongas en un array(), al tener el total (count()), de ese array, despues si con un foreach() imprimis el javascript, sumando $i sabés cual es el último
Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <title>titulo</title>
  6. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  7.  
  8. <?php
  9. //$id_anuncio=$_GET['id_anuncio'];
  10. $dir = './';
  11. $arr = array();
  12. // Abrir un directorio conocido, y proceder a leer sus contenidos
  13. if (is_dir($dir)) {
  14. if ($gd = opendir($dir)) {
  15. while ($archivo = readdir($gd)) {
  16.     if($archivo=='.' || $archivo == '..') continue;
  17.      
  18.     $file_parts = explode('.',$archivo);
  19.     $ext = strtolower(array_pop($file_parts));
  20.      array_push($arr,"'$archivo'");
  21.     //echo "'admin/fotos/".$id_anuncio."/".$archivo."',";
  22. }
  23. closedir($gd);
  24. }
  25. }
  26. ?>
  27.  
  28. <script type='text/javascript'>
  29. var slides = new Array(
  30.  
  31. <?php
  32. $total = count($arr);
  33. $i = 1;
  34. foreach($arr as $valor){
  35.   if($i != $total){
  36.   echo "$valor,\n";
  37.     }else{
  38.     echo "$valor";
  39.     }
  40. $i++;
  41.  }
  42. ?>
  43.  
  44.  
  45. );
  46. </script>
  47. </head>
  48. <body>
  49.  
  50. </body>
  51. </html>

A lo mejor se puede optimizar, pero funciona

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.