Erro no código e não consigo resolver!
Olá galerinha, blz? eu gosto muito de programação mas nem sempre fico praticando até porque estudo (3° ano) e não tenho muito tempo e quando tenho estou cansado então sempre fico meio "enferrujado" na hora de desenvolver um sistema mais complicado. O problema é o seguinte, estou criando um sistema para ler toda as pastas do sistema, eu sei que existe uma função que faz isso automaticamente mas eu prefiro criar a minha própria, olhem ela aí:
<?php
ini_set("default_charset", "utf-8");
$links = array();
$navegacao = array();
$local = "C:/wamp/www/";
$loops = 0;
$finalizar = false;
while($finalizar!=true){
$ad = opendir($local);
$contarIndDir = count(scandir($local));
$enc = 0;
$execucoes = 1;
while(false!=$lerDire=readdir($ad)){
if(!stristr($lerDire, ".")){
$links[$loops][$enc] = $local.$lerDire."/";
$navegacao[$loops] = "0/".$enc;
$enc++;
}
if($execucoes==$contarIndDir){
if($enc>0){
$local = $links[$loops][0];
}else{
if($loops==0){
echo "Não foram encontrados diretórios";
}else{
$localMae = null;
do{
$quebLocal = explode("/", $local);
$definirQext = count($quebLocal)-2;
for($i=0;$i<$definirQext;$i++){
@$localMae .= $quebLocal[$i]."/";
}
$contarMatriz = count($links)-1;
$novoLoop = 0;
$op = 0;
$naveI0 = -1;
$naveI1 = -1;
$finalizarPI = false;
$tolerancia1 = 0;
$tolerancia2 = 0;
$liberar = false;
while($finalizarPI==false){
if($novoLinks=$links[$novoLoop][$op]==true){
if($novoLinks==$localMae){
$naveI0 = $novoLoop;
$naveI1 = $op;
$finalizarPI = true;
}
}else{
if($tolerancia2<50){
$tolerancia2++;
$liberar = false;
}else{
if($tolerancia1<50){
$tolerancia2 = 0;
$tolerancia++;
$liberar = true;
}else{
$finalizarPI = true;
echo "Atingido o limite de tolerância.";
exit(0);
}
}
}
$op++;
if($liberar==true){
$op = 0;
$novoLoop++;
}
}
#Área com problemas
if($finalizarPI==true){
$extNavega = explode("/", $navegacao[$naveI0]);
if($extNavega[0]<$extNavega[1]){
$lidos = $extNavega[0]+1;
$navegacao[$naveI0] = $lidos."/".$extNavega[1];
$local = $links[$naveI0][$lidos];
$continua = false;
}else{
$continua = true;
}
}
}while($continua!=false);
/////////////////////////////////////////////////////////
}
}
}
$execucoes++;
}
$loops++;
$vN = explode("/" , $navegacao[0]);
if($vN[0]>$vN[1]){
echo "<br />".$vN[0].":".$vN[1];
$finalizar = true;
}
var_dump($links);
}
closedir($ad);
?>
Esse "ÁREA COM PROBLEMAS" é onde aparentemente está dando erro. Essa parte do código é responsável por fazer com que o sistema volte na pasta anterior pois chegou ao fim de uma pasta e agora vai ler outra. Já faz 1 mês que monto esses códigos (Claro que não é todo dia, apenas nos sábados ou domingos), sempre faço e refaço, mas sempre tem um erro. Esse resolvi manter, podem me ajudar?
Discussão (4)
Carregando comentários...