Foros del Web » Programando para Internet » Javascript »

¿como cargar imagenes con JS sin saber extensión ni nombre?

Estas en el tema de ¿como cargar imagenes con JS sin saber extensión ni nombre? en el foro de Javascript en Foros del Web. Buenas noches compañeros, En esta ocasión necesito(si me queréis hacer el favor) que me expliquéis como recoger con un array las imágenes de un directorio ...
  #1 (permalink)  
Antiguo 25/04/2012, 16:07
sidneyendis
Invitado
 
Mensajes: n/a
Puntos:
Pregunta ¿como cargar imagenes con JS sin saber extensión ni nombre?

Buenas noches compañeros,

En esta ocasión necesito(si me queréis hacer el favor) que me expliquéis como recoger con un array las imágenes de un directorio sin saber su nombre ni extensión.

El ejemplo sería así pero de forma dinámica:
Código Javascript:
Ver original
  1. var slides = new Array('../admin/fotos/502/slide_1.jpg',
  2.                        '../admin/fotos/502/slide_2.jpg',
  3.                        '../admin/fotos/502/slide_3.jpg',
  4.                        '../admin/fotos/502/slide_4.jpg',
  5.                        '../admin/fotos/502/slide_5.jpg');

Espero vuestra ayuda.

Un saludo muy grande.
  #2 (permalink)  
Antiguo 25/04/2012, 16:14
Avatar de Dafonz  
Fecha de Ingreso: octubre-2009
Mensajes: 127
Antigüedad: 15 años, 1 mes
Puntos: 36
Respuesta: ¿como cargar imagenes con JS sin saber extensión ni nombre?

siendo javascript lado cliente e imágenes lado servidor no es posible... se necesita algún lenguaje lado del servidor (php, java, asp, etc.. desconozco si con node.js se puede no lo he usado nunca)
  #3 (permalink)  
Antiguo 25/04/2012, 16:16
Avatar de 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?

No podés, al menos con javascript, necesitas algo que acceda al sistema de archivos en el server, como php, y la función readdir()

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 25/04/2012, 17:13
sidneyendis
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿como cargar imagenes con JS sin saber extensión ni nombre?

Hola Dafonz y emprear,

Ya he avanzado algo, es lo siguiente:

Código PHP:
<script type='text/javascript'>
var slides = new Array(
<?php
$id_anuncio
=$_GET['id_anuncio'];
$dir 'admin/fotos/'.$id_anuncio.'/';

// Abrir un directorio conocido, y proceder a leer sus contenidos
if (is_dir($dir)) {
if (
$gd opendir($dir)) {
while (
$archivo readdir($gd)) {
    if(
$archivo=='.' || $archivo == '..') continue;
    
    
$file_parts explode('.',$archivo);
    
$ext strtolower(array_pop($file_parts));
    
    echo 
"'admin/fotos/".$id_anuncio."/".$archivo."',";
}
closedir($gd);
}
}
?>
);
</script>
Lo que me falta es eliminar la coma de la última repetición, es decir, se esta repitiendo lo siguiente;
Código:
'admin/fotos/".$id_anuncio."/".$archivo."', 
y necesito que la ultima repetición se repita sin la coma final, es decir:
Código:
'admin/fotos/".$id_anuncio."/".$archivo."'
Agradezco nuevamente las posibles respuestas.
  #5 (permalink)  
Antiguo 25/04/2012, 18:04
Avatar de 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.

Etiquetas: extension, recojer
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:03.