[SP-pm] Problema com opendir/readdir

claudio at dpreferencial.com.br claudio at dpreferencial.com.br
Tue May 5 06:38:33 PDT 2009


Diogo,  ÓTIMA DICA!!

Você tem toda razão,
o problema  é o cache do navegador mesmo.

Resolveu 100%..

Muito obrigado.

Abs

Claudio H.Binaghi
claudio at dpreferencial.com.br
5511 3288.4840






----- Original Message ----- 
From: "Diogo Galvao" <diogo86 at gmail.com>
To: <saopaulo-pm at mail.pm.org>
Sent: Tuesday, May 05, 2009 10:21 AM
Subject: Re: [SP-pm] Problema com opendir/readdir


Cláudio, deve ser cache do navegador mesmo.

Por curiosidade, tenta adicionar + '&' + Math.random() na URL, só pra
gerar uma URL diferente e tentar contornar o cache.



2009/5/5  <claudio at dpreferencial.com.br>:
> Grande Breno, Bom dia!
>
> Obrigado pela sua atenção e dicas..
>
> Esse código é utilizado via web,
> para atualizar uma lista de diretórios..
>
> Já coloquei as tag's de no-cache, no html...
> Fora essa, não conheço outra forma de limpar o cache do browser..
>
> Eu chamo este código via código Javascript, com http_request...
> .........................................................................
> http_request = new XMLHttpRequest();
> ...
> var Envio = gpathCGI+'?sta='+NPath+'&pta='+Proj;
> ...
> .........................................................................
> O script roda bem a questão é na segunda chamada.,
> ele fica em cache em algum lugar e não se atualiza...
>
> Será que tem a ver com alguma configuração no apache ou no perl...?
> Usei o xampp para instalar o apache e perl...
>
> Qualquer luz é super bem vinda.
>
> obrigado.
>
> Claudio H.Binaghi
> claudio at dpreferencial.com.br
> 5511 3288.4840
>
>
>
>
> ----- Original Message ----- From: "breno" <breno at rio.pm.org>
> To: <saopaulo-pm at mail.pm.org>
> Sent: Monday, May 04, 2009 8:47 PM
> Subject: Re: [SP-pm] Problema com opendir/readdir
>
>
> Eu vi um print "Content-type: text/html\n\n"; mesmo?
>
> Claudio, acho que o problema não está no script (segue versão
> levemente modificada do código do Thomas abaixo), mas sim na forma
> como ele está sendo chamado.
>
> --------------------8<--------------------
> use strict;
> use warnings;
> # Utilize isso em todos os seus programas. (otima dica, Thomas++)
>
> my $tp = q(/etc); # diretorio alvo
> my $gProj = q(file.xml); # arquivo alvo
> my $dtudo = '';
>
> opendir (my $dir, $tp)
> or die "Erro: $!\n";
>
> # obtem lista de dirs em que o arquivo $gProj existe
> while (my $path = readdir ($dir)) {
> if (-d $path) { # Eh um diretorio
> if (-e qq($tp/$path/$gProj)) { # O arquivo existe.
> $dtudo .= $path . "\n";
> }
> }
> }
> closedir ($dir);
>
> print "Content-type: text/html\n\n";
> print $dtudo;
> --------------------8<--------------------
>
> Experimentou rodar pela linha de comando? O problema persiste?
> Caso esteja rodando pela web, experimentou limpar o cache do seu 
> navegador?
>
> Ah, e se me permite uma dica, procure usar nomes significativos para
> suas variáveis. Você vai me agradecer daqui a 6 meses, qdo quiser
> modificar "só uma coisinha" nesse código ;-)
>
>
> []s
>
> -b
>
> 2009/5/4 <claudio at dpreferencial.com.br>:
>>
>> Thomas,
>>
>> Agradeço muito as suas dicas,
>> testei o seu código e ele funciona perfeito.. mas...
>>
>> ainda continuo com o mesmo problema.
>>
>> 1º - rodo e dá OK
>> 2º - crio uma pasta no path para onde aponto o opendir
>> 3º - rodo e dá ERRADO .. retorna o mesmo conteúdo da primeira rodada.
>>
>> ainda dá retorno com o conteúdo antigo do Diretório..
>> não atualiza a informação, nem aparece as novas pastas, nem as deletadas
>> saem...
>>
>> Qualquer luz agradeço.
>>
>> Claudio H.Binaghi
>> claudio at dpreferencial.com.br
>> 5511 3288.4840
>>
>>
>>
>>
>>
>>
>> ----- Original Message ----- From: "Thomas Britis" <thomas at tcnet.com.br>
>> To: <saopaulo-pm at mail.pm.org>
>> Sent: Monday, May 04, 2009 7:28 PM
>> Subject: Re: [SP-pm] Problema com opendir/readdir
>>
>>
>> 1- para testar se é um diretório, utilize -d ao invés de -z.
>> 2- .= concatena ao invés de vc usar $dtudo = $dtudo . $dPasta.
>>
>> Sem o uso de módulos, eu faria algo assim:
>>
>> use strict;
>> use warnings;
>> # Utilize isso em todos os seus programas.
>>
>> my $tp = q(/etc);
>> my $gProj = q(file.xml);
>> my $dtudo;
>>
>> opendir (my $dir, $tp) or die ("Erro: $!");
>> while (my $path = readdir ($dir)) {
>> if (-d $path) { # Eh um diretorio
>> if (-e qq($tp/$path/$gProj)) { # O arquivo existe.
>> $dtudo .= $path, "\n";
>> }
>> }
>>
>> closedir ($dir);
>>
>> print $dtudo;
>>
>> Não testei, mas acho que é isso.
>>
>> claudio at dpreferencial.com.br wrote:
>>>
>>> Perl..soall, boa noite!
>>>
>>> Sou iniciante em perl.
>>>
>>> Estou com dificuldade em usa os comandos
>>> opendir/ readdir
>>>
>>> Fiz um código bem simples:
>>>
>>> opendir(Dir,$tp) or die("Dir não existe: $!");
>>> while($dPasta=readdir(Dir)){
>>> my $Dor = $tp . $dPasta;
>>> if(-z $Dor){ # testa se é um sub-diretório
>>> my $dirtem = $Dor . "/" . $gProj . ".xml";
>>> if(-e $dirtem ){
>>> $dtudo = $dtudo . $dPasta . "\n";
>>> }
>>> }
>>> }
>>> closedir(Dir);
>>> print "Content-type: text/html\n\n";
>>> print $dtudo;
>>>
>>> 1º - rodo e dá OK
>>> 2º - crio uma pasta no path para onde aponto o opendir
>>> 3º - rodo e dá ERRADO .. retorna o mesmo conteúdo da primeira rodada.
>>>
>>> Parece que o resulado fica na memória.
>>>
>>> Se alguém puder me dar uma luz,
>>>
>>> desde já agradeço a todos.
>>>
>>>
>>> Claudio H.Binaghi
>>> claudio at dpreferencial.com.br
>>> 5511 3288.4840
>>>
>>> _______________________________________________
>>> SaoPaulo-pm mailing list
>>> SaoPaulo-pm at pm.org
>>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>>
>>>
>>
>> --
>> Thomas Storino Britis
>> TCNet Informatica e Telecomunicacoes LTDA
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm at pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>
>>
>>
>> --
>> No virus found in this incoming message.
>> Checked by AVG.
>> Version: 7.5.557 / Virus Database: 270.12.11/2089 - Release Date:
>> 30/4/2009
>> 17:53
>>
>>
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm at pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm at pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>
>
> --
> No virus found in this incoming message.
> Checked by AVG.
> Version: 7.5.557 / Virus Database: 270.12.11/2089 - Release Date: 
> 30/4/2009
> 17:53
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm at pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
_______________________________________________
SaoPaulo-pm mailing list
SaoPaulo-pm at pm.org
http://mail.pm.org/mailman/listinfo/saopaulo-pm



-- 
No virus found in this incoming message.
Checked by AVG.
Version: 7.5.557 / Virus Database: 270.12.11/2089 - Release Date: 30/4/2009 
17:53



More information about the SaoPaulo-pm mailing list