Foros del Web » Programando para Internet » PHP »

Buscar un tipo de archivo en un directorio

Estas en el tema de Buscar un tipo de archivo en un directorio en el foro de PHP en Foros del Web. Buenas tengo el siguiente codigo Código: function CheckarMeca($Carpeta){ if ($Carpeta!=""){ $ContenidoCarpeta=scandir($Carpeta); for ($i=0;$i<=count($ContenidoCarpeta);$i++){ $FicheroActual=$Carpeta."/".$ContenidoCarpeta[$i]; if ($ContenidoCarpeta[$i]!="" AND $ContenidoCarpeta[$i]!="." AND $ContenidoCarpeta[$i]!=".." AND $ContenidoCarpeta[$i]!=".recycle"){ if (is_dir($FicheroActual)){ CheckarMeca($FicheroActual); ...
  #1 (permalink)  
Antiguo 20/01/2005, 05:29
Avatar de Darksoft  
Fecha de Ingreso: mayo-2002
Mensajes: 106
Antigüedad: 15 años, 7 meses
Puntos: 0
Sonrisa Buscar un tipo de archivo en un directorio

Buenas tengo el siguiente codigo
Código:
function CheckarMeca($Carpeta){
	if ($Carpeta!=""){
		$ContenidoCarpeta=scandir($Carpeta);
		for ($i=0;$i<=count($ContenidoCarpeta);$i++){
			$FicheroActual=$Carpeta."/".$ContenidoCarpeta[$i];
			if ($ContenidoCarpeta[$i]!="" AND $ContenidoCarpeta[$i]!="." AND $ContenidoCarpeta[$i]!=".." AND $ContenidoCarpeta[$i]!=".recycle"){
				if (is_dir($FicheroActual)){
					CheckarMeca($FicheroActual);
				}else{
					$FicheroSplit=explode(".",strtoupper($ContenidoCarpeta[$i]));
					if (in_array("MC8",$FicheroSplit)){
						//echo $Carpeta."/".$FicheroSplit[0].".".$FicheroSplit[1]."<br>";			
						return true;
						break;
					}
				}
			}
		}
	}
}
La llamada a la funciona es esta
Código:
if (CheckarMeca($Moldes_Data['carpeta'])){
	echo "<td align=\"right\" width=\"50\" ><img src=\"../images/Meca.gif\"></td>";
}else{
	echo "<td align=\"right\" width=\"50\" >&nbsp;</td>";
}


Y parece funcionar bastante bien, lo que hace es buscar archivos con la extension "MC8" en un directorio y todos sus subdirectorios.

El problema que me surge es que si TODOS los directorios tienen un archivo de ese tipo, funciona correctamente, pero si por alguna razon uno de esos subdirectorios no tiene archivos con extension .MC8 , la funcion no devuelve true y aunque hay 1 o mas archivos que cumplen el requisito, parece que no haya ninguno

Se que es cosa del bucle recursivo, lo que no se es como en el momento que encuentre 1 archivo que cumpla el requisito, rompa todos los bucles.

Gracias por avanzado, espero haberme explicado medianamente bien.
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 02:07.