Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MrEd

Renomear Arquivos

Recommended Posts

Ola galera, beleza? Seguinte eu tenho um diretorio com mais de 1000 arquivos no formato jpg. Eu gostaria de varrer o diretorio e renome-los. Os arquivos estao salvos dessa maneira (pela matricula da pessoa) XXXXXXX-X.jpg .Eu queria q fossem renomeados para XXXXXXXX.jpg ou seja, retirar o " - " da matricula. Como eu posso fazer isso?GratoEduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rename: http://br.php.net/manual/pt_BR/function.rename.php

 

Para "varrer" a pasta em busca dos arquivos (retirado de php.net):

http://br.php.net/manual/pt_BR/function.readdir.php

 

PHP [/tr][tr]

<?php

// Note que !== não existia antes do PHP 4.0.0-RC2

 

if ($handle = opendir('/path/to/files')) {

echo "Manipulador de diretório: $handle\n";

echo "Arquivos:\n";

 

/* Esta é a forma correta de varrer o diretório */

while (false !== ($file = readdir($handle))) {

echo "$file\n";

}

 

/* Esta é a forma INCORRETA de varrer o diretório */

while ($file = readdir($handle)) {

echo "$file\n";

}

 

closedir($handle);

}

?>

[/tr]

 

Acho que juntando estas duas informações você chegará onde quer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz esse script so q ta dando erro de permissao, eu ja dei permissao de escrita no diretorio mais continua a mesma coisa. Alguem sabe o q pode ser? O script q eu fiz é este:

 

PHP [/tr][tr]<?

function Retira_Hifem($str){

if(strlen($str) > 8) {

$str=trim(str_replace("-","",$str));

return $str;

}

}

 

$dir = "../teste";

 

if ($handle = opendir($dir)) {

while (false !== ($file = readdir($handle))) {

$nfile = rename($file,Retira_Hifem($file));

echo "".$nfile."<br>";

}

}

closedir($handle);

?>

[/tr]

 

Este é o erro q eu estou tendo:

 

Warning: rename(.,): Permission denied in D:\php\renomeia.php on line 13

 

 

Warning: rename(..,): Permission denied in D:\php\renomeia.php on line 13

 

 

Warning: rename(251680-2.jpg,2516802.jpg): No such file or directory in D:\php\renomeia.php on line 13

 

Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver o problema !!! Eu tinha q especificar o caminho completo na função rename(). Valeu Walace pela ajuda :) Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

PHP [/tr][tr]<?

function Retira_Hifem($str){

if(strlen($str) > 8) {

$str=trim(str_replace("-","",$str));

return $str;

}

}

 

$dir = "../Imagens/Fotos/Propostas";

 

if ($handle = opendir($dir)) {

$contador = 0;

while (false !== ($file = readdir($handle))) {

rename("../Imagens/Fotos/Propostas/".$file."","../Imagens/Fotos/Propostas/".Retira_Hifem($file)."");

$contador++;

}

$total = $contador - 2 ;

echo "<center><b>Foram renomeado(s) ".$total." arquivos.</b></center>";

}

closedir($handle);

?>

[/tr]

 

Ta ai o script modificado e funcionando normalmente.

 

Eduardo ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.