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

Dúvida - Função RENAME


Jonnyy

Pergunta

Olá, a uns dias atraz me deparei com um pequeno problema, comprei um mp3, e ele só mostrava as musicas sem acentuação e agora oque fazer para renomear em torno de 180 musicas uma por uma tirando os acentos ?

Pesquisei e fui montando o Script em PHP:

<?php

$lista = file_get_contents("lista.txt");
function retiraAcentos($string){ 
$array1 = array("á", "à", "â", "ã", "ä", "é", "è", "ê", "ë", "í", "ì", "î", "ï", "ó", "ò", "ô", "õ", "ö", "ú", "ù", "û", "ü", "ç" , "Á", "À", "Â", "Ã", "Ä", "É", "È", "Ê", "Ë", "Í", "Ì", "Î", "Ï", "Ó", "Ò", "Ô", "Õ", "Ö", "Ú", "Ù", "Û", "Ü", "Ç" ); 
$array2 = array("a", "a", "a", "a", "a", "e", "e", "e", "e", "i", "i", "i", "i", "o", "o", "o", "o", "o", "u", "u", "u", "u", "c" , "A", "A", "A", "A", "A", "E", "E", "E", "E", "I", "I", "I", "I", "O", "O", "O", "O", "O", "U", "U", "U", "U", "C" ); 
return str_replace($array1, $array2,$string); 
}


echo retiraAcentos("$lista");



?>
Dentro do Arquivo lista.txt contem os nomes de todas as musicas listadas em uma pasta. Esse código em php, tira todos os acentos contidos nessa lista de musicas. Porém, agora surgiu 2 problemas. Como faço para retornar o resultado da ação retiraAcentos("$lista") para lista_renomeada.txt. E como faço depois para substituir os nomes contidos no arquivo lista.txt para os que estão em lista_renomeada.txt. ------------------------------------------------- Descobri como escrever no arquivo txt as musicas agora sem as acentuações.
<?php

$lista = file_get_contents("lista.txt");
$abre = fopen("./lista_renomeada.txt", "w");
$troca = retiraAcentos("$lista");
function retiraAcentos($string){ 
$array1 = array("á", "à", "â", "ã", "ä", "é", "è", "ê", "ë", "í", "ì", "î", "ï", "ó", "ò", "ô", "õ", "ö", "ú", "ù", "û", "ü", "ç" , "Á", "À", "Â", "Ã", "Ä", "É", "È", "Ê", "Ë", "Í", "Ì", "Î", "Ï", "Ó", "Ò", "Ô", "Õ", "Ö", "Ú", "Ù", "Û", "Ü", "Ç" ); 
$array2 = array("a", "a", "a", "a", "a", "e", "e", "e", "e", "i", "i", "i", "i", "o", "o", "o", "o", "o", "u", "u", "u", "u", "c" , "A", "A", "A", "A", "A", "E", "E", "E", "E", "I", "I", "I", "I", "O", "O", "O", "O", "O", "U", "U", "U", "U", "C" ); 
return str_replace($array1, $array2,$string); 
}


echo $troca;

//Aqui vem a parte de escrever no arquivo
fwrite($abre, "$troca");
fclose($abre);

?>

Mais agora vem o problema, como eu faço pra trocar os nomes das musicas, o nome original lista.txt pelo nome sem a acentuação lista_renomeada.txt

Editado por Jonnyy
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Faz assim:

Cria uma pasta com nome arquivos, nela você bota todas as músicas.

Ai você cria um arquivo com nome renomear.php com esse código:

<?php
ini_set("max_execution_time", 500);
$path = "arquivos";
$dh = opendir($path);
$i=1;

function retiraAcentos($string){
$array1 = array("á", "à", "â", "ã", "ä", "é", "è", "ê", "ë", "í", "ì", "î", "ï", "ó", "ò", "ô", "õ", "ö", "ú", "ù", "û", "ü", "ç" , "Á", "À", "Â", "Ã", "Ä", "É", "È", "Ê", "Ë", "Í", "Ì", "Î", "Ï", "Ó", "Ò", "Ô", "Õ", "Ö", "Ú", "Ù", "Û", "Ü", "Ç" );
$array2 = array("a", "a", "a", "a", "a", "e", "e", "e", "e", "i", "i", "i", "i", "o", "o", "o", "o", "o", "u", "u", "u", "u", "c" , "A", "A", "A", "A", "A", "E", "E", "E", "E", "I", "I", "I", "I", "O", "O", "O", "O", "O", "U", "U", "U", "U", "C" );
return str_replace($array1, $array2,$string);
}

while (($file = readdir($dh)) !== false) {
    if($file != "." && $file != "..") {
        rename($path."/".$file, $path."/".retiraAcentos($file));
        $i++;
    }
}
closedir($dh);
?>

Ai executa esse arquivo.

Obs.: Isso tudo na pasta do seu localhost

Editado por Raphael Machado
Link para o comentário
Compartilhar em outros sites

  • 0

Você pode fazer assim:

Troque:

rename($path."/".$file, $path."/".retiraAcentos($file));
Por isso:
if (rename($path."/".$file, $path."/".retiraAcentos($file))) {
echo $file." --> ".retiraAcentos($file)." <font color='green'>OK</font><br/>";
}else{
echo $file." --> ".retiraAcentos($file)." <font color='red'>Error</font><br/>";
}

Editado por Raphael Machado
Link para o comentário
Compartilhar em outros sites

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...