Ir para conteúdo
Fórum Script Brasil
  • 0

Problema com leitura de diretorios


Dj Debas

Pergunta

Galera não consigo fazer o meu código PHP funcionar a partir de um diretório.

Na raiz do diretório ele funciona certo, mas quando coloco ele dentro de um diretório ele não funciona mais.

Tipo ele tem que buscar arquivos dentro de um diretorio, ler e mostrar na tela, mas isso ele faz somente se estiver na raiz, se ele estiver dentro de um diretório ele não busca.

Como ajeitar isso ?

Peço ajuda a galera e agradeço desde já.

Abaixo colocarei a minha rotina !!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>::::::Dj Debas - Pagina Teste:::::::</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="robots" content="index,follow" />
<meta name="rating" content="general" />
<meta name="generator" content="Macromedia Dreamweaver CS3" />
<style>
body {
margin:0;
padding:0;
color:#90EE90;
background:#000000;
font:12px Verdana,Arial,Helvetica,sans-serif
}
a {
text-decoration:none;
color:#98FB98;
background:transparent;
font-weight:bold
}
a:hover {
text-decoration:underline;
color:#98FB98:transparent
}

a:visited {
    color: #9AFF9A;
}

.cantor {
text-transform:capitalize;
font-size:100%;
color:#98FB98;
font-weight:bold;
margin:10px 200px 10px 10px;
padding:2px 0;
text-align:left
}

.musica {
text-transform:capitalize;
font-size:100%;
color: #98FB98;
margin:10px 20px;
padding:2px 0;
background:transparent;
text-align:left
}

.anchor {
text-transform:capitalize;
font-size:130%;
color:#006400;
font-weight:bold;
margin:10px 200px 10px 10px;
padding:2px 0;
text-align:left;
color: #006400
}

</style>
</head>
<body>

<?php
$termo = ".mid";
$local = "www.djdebas.net/Midis/Eletronicas";

$termo2 = converte_cedilha_e_acento($termo); 

function converte_parenteses_e_ponto($string){
 $string = str_replace ("(", "", $string);
 $string = str_replace (")", "", $string);
// $string = str_replace (".", "", $string);
 $string = str_replace ("-", "", $string);
 $string = str_replace ("_", " ", $string); 
 return $string;
}

function converte_estilo($string){
 $string = str_replace ("axesambaepagode", "ax?, samba e pagode", $string);
 $string = str_replace ("bluesjazzerock", "blues, jazz e rock", $string);
 $string = str_replace ("comemorativasehinosdefutebol", "comemorativas e hinos de futebol", $string);
 $string = str_replace ("forroebrega", "f?rro e bregas", $string);
 $string = str_replace ("internacional", "internacionais", $string); 
 $string = str_replace ("italianasefrancesas", "italianas e francesas", $string);
 $string = str_replace ("nacional", "nacionais", $string);
 $string = str_replace ("romanticas", "rom?nticas", $string);
 $string = str_replace ("tangoebolero", "tango, bolero e valsa", $string);
 return $string;
}

function converte_traco_em_espaco($string)
{
    $string = str_replace("_", " ", $string);
    $string = str_replace("(.a)", "?", $string);
    $string = str_replace("(a.)", "?", $string);
    $string = str_replace("(a)", "?", $string);
    $string = str_replace("(.a.)", "?", $string);
    $string = str_replace("(-a)", "?", $string);
    $string = str_replace("(-a.)", "?", $string);
    $string = str_replace("(ae)", "?", $string);
    $string = str_replace("(.e)", "?", $string);
    $string = str_replace("(e.)", "?", $string);
    $string = str_replace("(e)", "?", $string);
    $string = str_replace("(.e.)", "?", $string);
    $string = str_replace("(.i)", "?", $string);
    $string = str_replace("(i.)", "?", $string);
    $string = str_replace("(i)", "?", $string);
    $string = str_replace("(.i.)", "?", $string);
    $string = str_replace("(.o)", "?", $string);
    $string = str_replace("(o.)", "?", $string);
    $string = str_replace("(o)", "?", $string);
    $string = str_replace("(.o.)", "?", $string);
    $string = str_replace("(-o)", "?", $string);
    $string = str_replace("(-o.)", "?", $string);
    $string = str_replace("(-o-)", "?", $string);
    $string = str_replace("(o-)", "?", $string);
    $string = str_replace("(.u)", "?", $string);
    $string = str_replace("(u.)", "?", $string);
    $string = str_replace("(u)", "?", $string);
    $string = str_replace("(.u.)", "?", $string);
    $string = str_replace("()", "?", $string);
    $string = str_replace("(.-)", "`", $string);
    $string = str_replace("(.c)", "?", $string);
    $string = str_replace("(c)", "?", $string);
    $string = str_replace("(r)", "?", $string);    
    $string = str_replace("(tm)", "?", $string);
    $string = str_replace("(-)", "?", $string);
    $string = str_replace("(s)", "?", $string);    
    $string = str_replace("(l)", "?", $string);
    $string = str_replace("(-.)", "?", $string);
    $string = str_replace("(d)", "?", $string);    
    $string = str_replace("(b)", "?", $string);
    $string = str_replace("(.)", "?", $string);
    $string = str_replace("(t)", "?", $string);    
    $string = str_replace("(-t-)", "?", $string);
    $string = str_replace("(y)", "?", $string);
    return $string;
}
function converte_cedilha_e_acento($string) {     
$string = str_replace ("?", "c", $string);
$string = str_replace ("?", "C", $string);
$string = str_replace ("?", "a", $string);
$string = str_replace ("?", "A", $string);
$string = str_replace ("?", "a", $string);
$string = str_replace ("?", "A", $string);
$string = str_replace ("?", "a", $string);
$string = str_replace ("?", "A", $string);
$string = str_replace ("?", "a", $string);
$string = str_replace ("?", "A", $string);
$string = str_replace ("?", "e", $string);
$string = str_replace ("?", "E", $string);     
$string = str_replace ("?", "e", $string);
$string = str_replace ("?", "E", $string);     
$string = str_replace ("?", "e", $string);
$string = str_replace ("?", "E", $string);
$string = str_replace ("?", "i", $string);
$string = str_replace ("?", "I", $string);
$string = str_replace ("?", "i", $string);
$string = str_replace ("?", "I", $string);
$string = str_replace ("?", "i", $string);
$string = str_replace ("?", "I", $string);
$string = str_replace ("?", "o", $string);
$string = str_replace ("?", "O", $string);        
$string = str_replace ("?", "o", $string);
$string = str_replace ("?", "O", $string);        
$string = str_replace ("?", "o", $string);
$string = str_replace ("?", "O", $string);        
$string = str_replace ("?", "o", $string);
$string = str_replace ("?", "O", $string);        
$string = str_replace ("?", "u", $string);
$string = str_replace ("?", "U", $string);        
$string = str_replace ("?", "u", $string);
$string = str_replace ("?", "U", $string);        
$string = str_replace ("?", "u", $string);
$string = str_replace ("?", "U", $string);
//$string = str_replace (" ", "_", $string);         
return $string;
}

if(isset($termo2)){

$diretorio[0] = $local;

$x = count($diretorio)-1; // varre todos os diretorio e subdiretorios 
for ($y = "0"; isset($diretorio[$y]); $y++) { 
    if ($dh = @opendir($diretorio[$y])) { 
        while (($file = readdir($dh)) !== false) { 
          if (is_dir("$diretorio[$y]/$file") && ($file != ".") && ($file != "..")) { 
 $x++; 
                $diretorio[$x] = $diretorio[$y]."/" .$file; 


          } 
        } 
        closedir($dh); 
    } 
} 

clearstatcache();

$procurou = "0"; 

for ($i = 0; isset($diretorio[$i]); $i++) {  // varre cada diretorio encontrado 

if ($dh = @opendir($diretorio[$i])) { 
    while (($arquivo = readdir($dh)) !== false) { 
        $arq_quebra = explode(".", $arquivo); 
        $ext = strtolower(end($arq_quebra)); 

           if (($arquivo != '.') && ($arquivo != '..') && ($ext != $arq_quebra[0]) && ($ext != false)) { //tira . e .. e retira .mid tb

            if ($ext == "mid")  { 
                $procurou++;  //  determina o numero de arquivos pesquisados 

                $abre[$procurou] = $diretorio[$i]."/".$arquivo;
                            }
           }   
      }
    } 
 }
if($termo2!=""){
$numero = count ($abre);
$e="0";
         
         for( $z=0; $z < count($abre); $z++ ) {
             
             $arquivoB = "$abre[$z]"; 
             $barra = explode ("/", $arquivoB);
             $estilo[$z] = $barra[2];
                $sem_barra[$z] = $barra[4];
             $mid ="$sem_barra[$z]";
             $traco = explode ("_-_",$mid);
             $sem_traco = $traco[1];
             $sem_mid = explode (".mid", $sem_traco);
             $verifica_cantor[$z] = $barra[2];
             $verifica_musica[$z] = $sem_mid[0];
             $achei[$e] ="$abre[$z]";
    $e++;                
               $sentinela = "1"; 
              
  
            
       }
    if(!$sentinela) {
            echo "<br><br><h5 align=\"center\">Desculpe!</h5><br>";
            echo "<h5 align=\"center\"> Infelizmente o termo <em><b>" .$termo. " </b></em>ainda não consta em nosso site.</h5>";
         }
if($achei!="")    {
sort($achei);
         
for($e=0; $e < count($achei); $e++)
    { 


       $a = ($e-1);
         $arquivo = "$achei[$e]";
       $explode_barra= explode ("/", $arquivo);
       $artista[$e] = $explode_barra[2];
       $artista_anterior = "$artista[$a]";
       $artista_atual = "$artista[$e]";
       $com_mid[$e] = $explode_barra[3];
       $com_midi = "$com_mid[$e]";
       $explode_traco = explode("_-_", $com_midi);
       $sem_mid = $explode_traco[1];
       $musica_sem_traco = explode(".mid", $sem_mid);
       $local_estilo[$e] = converte_estilo($explode_barra[1]);
       $cantor[$e] = converte_traco_em_espaco($explode_barra[2]);
       $musica[$e] = converte_traco_em_espaco($musica_sem_traco[0]);

       if(strlen($artista_atual)==1)
            {
            echo "<br /><div class=\"anchor\">$artista_atual<a name=\"$artista_atual\"></a></div>\n";
            echo "<hr width='50%' color='#FF0000' align='left' />";
            }
       else
       {
       if ($artista_anterior == $artista_atual)
              {
                echo "<div class=\"musica\"><a href='".$achei[$e]. "'>" .$musica[$e]."</a></div>\n";
                           }
       else 
            {
            echo "<div class=\"cantor\">" .$cantor[$e]."</div>\n";
              echo "<div class=\"musica\"><a href='".$achei[$e]. "'>" .$musica[$e]."</a></div>\n";
              
                 }
       }
    }
 } 
} 
}
?>  
<br><br>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...