MrEd 0 Denunciar post Postado Agosto 6, 2004 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
walace 1 Denunciar post Postado Agosto 6, 2004 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
MrEd 0 Denunciar post Postado Agosto 6, 2004 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
MrEd 0 Denunciar post Postado Agosto 6, 2004 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
andrearruda 0 Denunciar post Postado Agosto 6, 2004 mostra pra mim esse script nao to consiguindo fazer ele rodar... Compartilhar este post Link para o post Compartilhar em outros sites
MrEd 0 Denunciar post Postado Agosto 6, 2004 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