Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Antes de tentar criar um código gostaria de saber se alguém possui um pronto. Ou se não tiver, idéias de como fazer. Eu gostaria de listar os arquivos das pastas e subpastas da pasta fotosProgramas nesse formato: echo $pasta.'/'.$subpasta.'/'.$arquivo. fotosProgramas/Pasta1/Arquivo1.jpg fotosProgramas/Pasta1/Arquivo2.jpg fotosProgramas/Pasta1/Arquivo3.jpg fotosProgramas/Pasta2/Arquivo1.jpg fotosProgramas/Pasta4/Arquivo1.jpg
Olá joaofla123,
Não sei se vai te ajudar, mas eu fiz uma funçãozinha simples, mas funciona...
Ela pega todas as pastas, subpastas, sub-subpastas e etc... E retorna juntos seus arquivos...
Espero que ajude,
function retornaDiretorio(){
$minBlackList = array(".","..","...");
$extBlackList = array("/.php/","/.html/","/.PHP/","/.HTML/");
$local = "application/controllers/";
$opcoes['controllers'] = array();
$i = 0;
$b = 1;
$t = -1;
$addBlackList = array();
$addBlackListFile = array();
$valor = NULL;
do{
if(is_file($local.$valor[$i]) && !preg_match('/html/',$valor[$i]) && !in_array($valor[$i],$minBlackList) && !in_array($valor[$i],$addBlackListFile)){
$folderName = explode("/",$local);
$folderPasta = $folderName[count($folderName) - 2];
$opcoes[$folderPasta][$valor[$i]] = ucfirst(preg_replace($extBlackList,"",$valor[$i]));
array_push($addBlackListFile,$valor[$i]);
}
if(is_dir($local.$valor[$i]) && !empty($valor) && !in_array($valor[$i],$minBlackList) && !in_array($valor[$i],$addBlackList)){
$pasta = $valor[$i];
$t++;
}
if(isset($pasta) && is_dir($local.$pasta) && $b == count(scandir($local)) && !in_array($pasta,$addBlackList) && !in_array($pasta,$minBlackList)){
array_push($addBlackList,$pasta);
$pastas[] = $pasta;
$local = "application/controllers/".implode("/",$pastas)."/";;
$i = 0;
$b = 1;
}
if($b == count(scandir($local))){
$pastas = null;
$pasta = null;
$local = "application/controllers/";
}
$b++;
$i++;
}while($i < count($valor = scandir($local)));
return $opcoes;
}
A não esquecendo é só na variável local, tu coloca qual a pasta que tu quer ler, abraço :)
Sabe como eu transformo essa função em string??
não estou conseguindo com implode(',',$opcoes);
' fotosProgramas/Pasta1/Arquivo1.jpg ',
' fotosProgramas/Pasta1/Arquivo2.jpg ',
' fotosProgramas/Pasta1/Arquivo3.jpg ',
' fotosProgramas/Pasta2/Arquivo1.jpg ',
' fotosProgramas/Pasta4/Arquivo1.jpg ',
http://br1.php.net/RecursiveDirectoryIterator
@braços