Ir para conteúdo

POWERED BY:

Arquivado

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

Gelson Design

[Resolvido] o PHP Consegue RENOMEAR arquivos dentro de 1 PASTA?

Recommended Posts

Pessoal eu tenho uma pasta que a cada 30 minutos o sistema manda arquivos para esta pasta.

 

Eu precisaria criar um script local mesmo os para verificar essa pasta e acrescentar um .XML no final

 

TEM COMO???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso eu sei fazer. Mas na realidade é assim a cada 30 minutos cai na pasta do windows assim

 

AFLRFAT.XML.T101813734 e preciso renomear para AFLRFAT_T101813734.XML

 

COMO DISSE ISSO EU JA FIZ, so que o problema é qe a cada 30 minutos ele vai colocar mais um arquivo que vai mudar so os NUMEROS AFLRFAT.XML.T101813755

 

COMO que vou fazer para tipo ele renomear do arquivo AFLRFAT.XML e manter a numeração??? Ou seja, So trocar de lugar o XML

 

Tem como??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, fiz essa função aqui só que não testei, ve se vai.

 

<?
function renomeiaArquivos($diretorio){

	if ($ponteiro  = opendir(getcwd() ."/". $diretorio)){		
		while (false !== ($arquivo = readdir($ponteiro))) {
								
			//EXIBE APENAS AS MINIATURAS
			if (strstr($arquivo, 'AFLRFAT.')){
							
				$xml = explode(".",$arquivo);
				$novo = $xml[0]."_".$xml[2].".".$xml[1];
				
				rename($arquivo, $novo);
			
			}
				
		}
				
		closedir();		
	
	}
	
}

renomeiaArquivos('../xml/');

?>

 

Falou aeee

 

--------------

.

 

 

Editando

Opa desculpa ae mas tinha 2 erros que vi agora quando olhei para o código, mas já arrumei, testa aee

 

 

.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara da esse erro

 

Warning: opendir(C:\Arquivos de programas\EasyPHP 2.0b1\www\renomearc:/teste/ENTRADA/../xml/) [function.opendir]: failed to open dir: Invalid argument in C:\Arquivos de programas\EasyPHP 2.0b1\www\renomear\index.php on line 12

 

Eu fiz assim pensei que fosse assim que era pra fazer

 

<?php
function renomeiaArquivos($diretorio){

	if ($ponteiro  = opendir(getcwd() ."c:/teste/ENTRADA/". $diretorio)){		
		while (false !== ($arquivo = readdir($ponteiro))) {
								
			//EXIBE APENAS AS MINIATURAS
			if (strstr($arquivo, 'AFLRFAT.')){
							
				$xml = explode(".",$arquivo);
				$novo = $xml[0]."_".$xml[2].".".$xml[1];
				
				rename($arquivo, $novo);
			
			}
				
		}
				
		closedir();		
	
	}
	
}

renomeiaArquivos('../xml/');

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Peguei o código no Nícolas e mechi um pouco pra deixar mais fácil de você editá-lo.

 

O arquivo AFLRFAT deve estar em uma pasta a qual o arquivo do site tem acesso.

 

Esse código que mechi, pega um arquivo na pasta

 

./pastaqueestaocodigo/xml/

e renomeia ele jogando na mesma pasta:

./pastaqueestaocodigo/xml/

porém dá para editar, mudando os nomes nos lugares comentados.

 

Dê uma olhada e estude o código http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

<?
function renomeiaArquivos($diretorio,$from,$destino){

	if ($ponteiro  = opendir(getcwd() ."/". $diretorio)){
		while (false !== ($arquivo = readdir($ponteiro))) {

			//EXIBE APENAS AS MINIATURAS
			if (strstr($arquivo, 'AFLRFAT.')){

				$xml = explode(".",$arquivo);
				$novo = $xml[0]."_".$xml[2].".".$xml[1];

				rename("$destino/$arquivo", "$destino/$novo");
			}
		}
		closedir();
	}
}

$dir = '/xml/'; // Nome do diretório de onde veio o arquivo
$dirfrom = 'xml'; // Nome do diretório de onde veio o arquivo (exemplo: xml/arquivodoprogramax/seilauq)
$dirdest = 'xml'; // Nome do diretório para onde vai o arquivo (exemplo: xml/arquivodoprogramax/seilauq)
renomeiaArquivos($dir,$dirfrom,$dirdest);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal alterei o codigo do NICOLAS um pouco e deu certo as minhas necessidades.

 

Ao amigo 540991 agradeco pela atenção.

 

Vou postar o codigo aqui para verem.

 

<?php
$diretorio = "c:/teste/ENTRADA/";

function renomeiaArquivos($diretorio){

	if ($ponteiro  = opendir($diretorio)){		
		while (false !== ($arquivo = readdir($ponteiro))) {
								
			//EXIBE APENAS AS MINIATURAS
			if (strstr($arquivo, 'AFLRFAT.')){
							
				$xml = explode(".",$arquivo);
				$novo = $xml[0]."_".$xml[2].".".$xml[1];
				
				rename($diretorio.$arquivo, $diretorio.$novo);
			
			}
			 if (strstr($arquivo, 'AFLRCAN.')){
							
				$xml = explode(".",$arquivo);
				$novo = $xml[0]."_".$xml[2].".".$xml[1];
				
				rename($diretorio.$arquivo, $diretorio.$novo);
			
			}
			 if (strstr($arquivo, 'AFLRINU.')){
							
				$xml = explode(".",$arquivo);
				$novo = $xml[0]."_".$xml[2].".".$xml[1];
				
				rename($diretorio.$arquivo, $diretorio.$novo);
			
			}
				
		}
				
		closedir();		
	
	}
	
}

renomeiaArquivos($diretorio);

?>

Resolvido Muito Obrigado

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.