Foros del Web » Programando para Internet » PHP »

Devolver todo en un array de una funcion :-|

Estas en el tema de Devolver todo en un array de una funcion :-| en el foro de PHP en Foros del Web. Buenas Noches Gente, tengo esta pequeña duda: Quiero hacer una funcion que me recorra los archivos de una carpeta y me devuelva el nombre del ...
  #1 (permalink)  
Antiguo 20/06/2003, 17:17
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.427
Antigüedad: 14 años, 6 meses
Puntos: 7
Devolver todo en un array de una funcion :-|

Buenas Noches Gente, tengo esta pequeña duda:

Quiero hacer una funcion que me recorra los archivos de una carpeta y me devuelva el nombre del archivo en un array. Menos lo del array todo me sale bien, tengo lo siguiente:

<?
$dir=opendir($path."imgpeq/");
while($fich=readdir($dir)){
$ext=explode(".",$fich);
if($ext[1]=="jpg"){
$imggrande=explode("_",$fich);?>
<a href="<?=$_SERVER['DOCUMENT_ROOT']."/imagenes/$imggrande[1]";?>"><img src="<? echo $path."imgpeq/".$fich?>"></a>
<? }
}?>

Todo me ba muy bien, pero lo que queria, es meter todo esto en una pagina que se llama funciones.php, y por ejemplo llamar a la funcion recorrerdirectorio();

Para asi, no tener que poner todo ese pegote en la pagina, y una vez echa esa llamada, acceder a los valores del array, bueno, ahora que lo pienso me surgen tres dudas.

¿Es correcto lo que pretendo hacer? ¿Es Posible? ¿Hay alguna forma de recorrer un array hasta su final, sin saber cual es su final?

Nuevamente Gracias por la ayuda que ofreceis.
__________________
Charlie.
  #2 (permalink)  
Antiguo 20/06/2003, 17:33
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,
Cita:
¿Hay alguna forma de recorrer un array hasta su final, sin saber cual es su final?
Claro que la hay, el while que usas.

Para meterlo en un array y devolverlo solo tienes que crear un array (logico), ir añadiendo valores dentro del while y al final devolverlo. Algo asi:
Código PHP:
function devolverJPG($path) { // $path lo pasamos como parametro
$jpgs=array(); // creamos el array vacio
$dir=opendir($path."imgpeq/");
while(
$fich=readdir($dir)){
$ext=explode(".",$fich);
if(
$ext[1]=="jpg"){
  
$jpgs[]=$fich// añade el valor de $fich al final del array
}
return 
$jpgs;  // devolvemos el array
// si no hay ningun jpg en el directorio
// devuelve una array con cero elementos
}

// uso
$imagenes=devolverJPG('/hmtl');
foreach (
$imagenes as $imagen) {
  echo 
$imagen;

Por supuesto, deberias adaptarlo a las funcionalidades que necesitas.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 16:05.