Página 3 de 3

Enviado: 16 Ago 2007 10:26
por Stanis Luksys
Então...

Seria interessante colocar no final do script php que faz a inclusão do cliente, uma rotina para gerar um TXT e a cada cliente cadastrado gerar uma nova linha nele, entendeu?

Eu até posso ajudar nisso, mas só se for PHP, porque se for ASP nem manjo.

Este TXT poderia seguir o padrão para ser utilizado pelo APPEND FROM SDF...

Depois, o programa no terminal lê de vez em quando este arquivo TXT, e assim nem precisaria executar script... E deste modo nem MySQL entra na jogada.

Enviado: 16 Ago 2007 10:32
por Maligno
ANDRIL escreveu:Mais acho q se com o WAPI eu consiguir checar a fazer o download do arquivo pra mim ajuda muuuuuito.
Quanto a isso, você pode ficar tranqüilo, pois é essa a tarefa da função. Como eu disse pro Stanis: qualquer coisa que pode vir pelo browser, pode vir por essa função.

Enviado: 16 Ago 2007 10:37
por Maligno
Stanis Luksys escreveu:Seria interessante colocar no final do script php que faz a inclusão do cliente, uma rotina para gerar um TXT e a cada cliente cadastrado gerar uma nova linha nele, entendeu?
Mas isso poderia acabar "inchando" demais o TXT, não? Se eu fosse fazer, montaria um script pra pesquisar o banco atrás dos últimos cadastrados e ir montando o TXT na hora. Isso executa rápido. E depois, não ficaria nenhum arquivo texto para ser apagado ou "enxugado" depois.

Enviado: 16 Ago 2007 10:43
por Stanis Luksys
Sim,

Mas veja, um arquivo txt grande não é nada crítico, nem mesmo para baixar em conexões lentas. Claro que se tiver milhares de linhas aí sim ficaria lento. De vez em quando é só dar uma enxugada nele, o próprio script pode fazer isso por data, periodicamente.

Assim ficaria interessante porque não teria o tempo de acesso ao mysql, ele ja trabalharia com as variaveis que o cara inseriu no form de inclusão. Por outro lado se der algum pau no momento da inclusão, ou no momento de gerar o txt, as bases não ficariam identicas.

A sugestão que dei acho mais viável enquanto a WAPI trabalhar em modo sincrono, pois assim só baixaria o txt. Do outro modo seria executado o script, que geraria o txt e ainda teria o tempo de download.

Na verdade este tempo vai depender mesmo é da movimentação do cadastro do cara lá, que ca entre nós, num deve ser tãoooo grande.

Enviado: 16 Ago 2007 10:47
por Maligno
Acho que pelos dois métodos vai dar certo. A diferença de tempo entre um e outro, acredito eu, deve ser muito pequena. Pelo menos o Andril tem as opções. É só escolher. :)

Enviado: 16 Ago 2007 11:41
por ANDRIL
Ola pessoal,

Resolvi nao fazer uso do PHP, somente o HTML para gerar os dados do TXT, isto é, ele é gerado atraves das extensões do FRONTPAGE instalado no meu site por isso nao preciso mexer diretamente com outra linguagem.

O fato é que já consigo fazer o download do TXT gerado via sistema. O TXT tende a crescer visto que é acumulativo por isso que estou a procura de um comando para apos baixar o TXT zera-lo no servidor.

Este procedimento poderia ser atraves do WAPI (porem o Maligno disse q ainda n implementou a rotina de exclusao FTP) ou pode ser um simples script que fique no site, apos baixado o arquivo, o sistema em clipper envia um comando para executar o script no servidor apagando-o, pelo q o Maligno posto sobre a execucao de script acho que funcionará.

if IsInternet()
cSrv := "seu_dominio.com.br"
cRet := ""
if DLoadFile("www."+cSrv+"/servertime.php",@cRet)
? "No servidor " + cSrv + ":"
? "--------------------------"
? "STATUS DA OPERACAO: " + cRet")
else
? "ERRO desconhecido!"
end
else
? "ERRO: desconectado ou bloqueado pelo firewall!"
end
?
O script PHP que deverá estar gravado no servidor:
Código:
<?php echo("APAGAR ARQUIVO TXT"); ?>
Agora so falta o script em PHP.



To tentando...

Enviado: 16 Ago 2007 12:02
por Stanis Luksys
Use:

Código: Selecionar todos

<? unlink("arquivo"); ?>
Não se esqueça de verificar permissões de escrita e leitura no diretório. A maioria dos servidores web são linux...

Falou.

Enviado: 16 Ago 2007 12:30
por Maligno
Sugestão para tornar o script mais flexível: enviar o nome do arquivo que será apagado. Um script simples, que retornará ao seu programa os valor "1", se bem sucedido, ou "0", se ocorrer algum erro:

Código: Selecionar todos

<?php echo(unlink($_GET['file'])? "1": "0");?>
Assim, supondo que o nome do script seja DELFILE.PHP, basta executar a função como no programa exemplo abaixo:

Código: Selecionar todos

function Main(cFile)
clear
if PCount() = 1
   if IsInternet()
      cRet := ""
      DLoadFile("www.servidor.com/delfile.php?file="+cFile,@cRet)
      if Val(cRet) = 1
         ? if(Val(cRet)=1, "SUCESSO!", "ERRO")
      end
   else
      ? "ERRO: desconectado ou bloqueado pelo firewall!"
   end
else
   ? "ERRO: esqueceu o nome do arquivo!"
end
?
Na linha de comando, supondo que o programa se chame PHPDEL, bastaria executar PHPDEL ./export/dados.txt.

Enviado: 16 Ago 2007 14:54
por ANDRIL
Stanis obrigado pelo script testei e funcionou diretamente atraves do browse.

Vou agora seguir o exemplos do Maligno para fazer via clipper, OBRIGADO a vcs.





Depois volto a comentar...



TIVE Q EDITAR O TOPICO pois nao estou conseguindo baixar o WAPI. ERRO:
Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0

Fatal error: Unknown: Failed opening required '/usr/local/lib/php//cabecalho.php' (include_path='.:/usr/local/lib/php') in Unknown on line 0
Maligno tem outro local onde eu possa baixar?


Ate+

Enviado: 16 Ago 2007 16:44
por Maligno
Está baixando normalmente. Acabei de testar navegando pelo browser de arquivos que eu uso. Mas eis o link direto: http://pub.buzinello.com/clipper/libs/wapi_v1.02.zip

Enviado: 16 Ago 2007 17:09
por ANDRIL
Ok. Maligno, este link é o correto, estava baixando do link velho q esta na 1a pagina do tópico sobre o WAPI.

Obrigado,

Enviado: 17 Ago 2007 00:27
por Stanis Luksys
Hehehe!!!

Sem querer jogar conversa fora, mas respondendo a questão inicial título do tópico, e que me parece ser de grande relevânia para o mundo Clipper:

TEM COMO!!!!!

E de algumas maneiras difrentes, pelo que foi visto...

Enviado: 17 Ago 2007 02:35
por Maligno
Pois é, Stanis. Apesar dos pesares, usando de um pouco de criatividade, a par das limitações do Clipper, tudo é possível. Ou quase. :))))