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

ajuda,php não le pastas e arquivos com nome em chines


jhonpetter

Pergunta

ola amigos,to com um poblemasso,mdifiquei um script para que atendesse minha vontade,este script le pastas subpastas e arquivos e imprime na tela,porem quando acha algo escrito em chines(tudo) ele simplesmente ignora ou não consegue ler segue o script ->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//CN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</header>
<html>
<body>
<?php
//base64_encode e base64_decode
//pode-se alterar arquivos e pastas,ou apenas um
//para apenas listar pastas subpastas e arquivos deixe como comentario as linhas (24 ?26 e 34 ?36).
$dir = getenv('DOCUMENT_ROOT');
function varre($dir,$filtro="",$nivel="")
{
//Se a pasta original n䯠foi modificada nada ocorre processo normal
  if($diraberto = opendir($dir)){
  $diraberto = opendir($dir);
  chdir($dir);
//Se a pasta original foi alterada,logica mente ser?inacessivel,necessario mostrar ao sistema que ela ainda existe
  }else{
   $dir = base64_encode("$dir");
   $diraberto = opendir($dir);
   chdir($dir);
   }
//Processo de varredura pastas e arquivos
  while($arq = readdir($diraberto)) {

      if($arq == "...." || $arq == ".." || $arq == ".")continue;
      $arr_ext = explode(";",$filtro);
      foreach($arr_ext as $ext) {
          $extpos = (substr($arq,strlen($arq)-strlen($ext))) == $ext;
//Se for um arquivo
          if ($extpos == strlen($arq) and is_file($arq)){
//codigo abaixo transforma os arquivos em base64,tire e ponhe novamente apos execu褯!!!
                        /*$old_name = $arq;  
                        $new_name = base64_encode("$arq");  // <- mude para base64_decode para reverter
                        rename($old_name,$new_name);*/                           
           
              echo $nivel.$arq."<br>";
              }  
      } 
//Se for uma pasta
      if (is_dir($arq)) {
//codigo abaixo transforma todas as pastas e subpastas em base64,tire e ponhe novamente apos execu褯!!!
                           /*$old_name = $arq;  
                           $new_name = base64_encode("$arq");  // <- mude para base64_decode para reverter
                           rename($old_name,$new_name);*/

          echo $nivel. "<B>" .$dir."</B><br>";
          varre($arq,$filtro,$nivel."&nbsp;&nbsp;&nbsp;&nbsp;");

      }
  }
//volta e finaliza o processo
  chdir("..");
  closedir($diraberto);
}
//Chamando fun褯
varre("$dir");
echo "<br>影族";
?>
</body>
</html>

dando um echo em um nome em chines mostra normalmente so não acha arquivos e pastas.

se por acaso alguém tiver uma função,pacote de linguaguem para o php ou ate mesmo qualquer solução eu agradeço muito.

meu pc é xp-pro está com todos os pacotes de linguaguem instalado

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,2k
    • Posts
      652k
×
×
  • Criar Novo...