Mário Miranda Postado Agosto 2, 2007 Denunciar Share Postado Agosto 2, 2007 (editado) Bom dia.Estou com uma dúvida com essa ação.Em um script o seguinte comando é rodado:<? $comando = "copy C:\guia.txt \\\\192.168.25.17\LPT1"; echo "$comando <br>"; $entra=shell_exec("$comando"); echo $entra; ?>Só que o comando executado me retorna "0 arquivos copiados".Porém se eu executar o mesmo comando em que eu dou um echo na tela, só que diretamente na máquina onde roda esse script, o comando funciona.Se alguém puder me ajudar com isso, só falta isso pra que eu consiga finalizar um projeto.Desde já agradeço a todos. Editado Agosto 2, 2007 por Mário Miranda Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Agosto 2, 2007 Denunciar Share Postado Agosto 2, 2007 shell_exec funciona na máquina em que o servidor está rodando, se a sua idéia é sair copiando arquivos de quem executa o script, a coisa não funciona... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mário Miranda Postado Agosto 2, 2007 Autor Denunciar Share Postado Agosto 2, 2007 Olá ESerra.Mas a minha idéia é copiar o arquivo do servidor mesmo.Esse arquivo "guia.txt" fica no servidor. No caso, o servidor copiaria esse arquivo para esse caminho que eu coloquei. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Dr. Gap Postado Agosto 2, 2007 Denunciar Share Postado Agosto 2, 2007 cara, não é por nada, mas esse ' C:\guia.txt' tah estranho... você não deveria usar o caminho relativo de onde estah o scipt?... quero dizer, não teria que estar dentro de alguma pasta do apache onde estao hospedados os scripts php? ... lá em c:\arquivos de programas\apache\etc...??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mário Miranda Postado Agosto 2, 2007 Autor Denunciar Share Postado Agosto 2, 2007 Olá Dr Gap.Então....como eu coloco o caminho (no caso, copy C:\guia.txt)...não precisa estar no htdocs.Eu mudei o comando agora a pouco para copy c:\guia.txt c:\guia e o comando funcionou Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Agosto 2, 2007 Denunciar Share Postado Agosto 2, 2007 Na verdade não, pois o shell_exec pede o caminho físico do arquivo, e este será acessado pelo servidor, não pelo navegador.Mário Miranda, você está tendo problemas com outras operações shell_exec, ou só para copiar o arquivo?Tente mudar o:C:\guia.txtpor:C:\\guia.txt Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mário Miranda Postado Agosto 2, 2007 Autor Denunciar Share Postado Agosto 2, 2007 Olá Lvcifer.Também não deu certo.O estranho é que se eu for no servidor e abrir o prompt, e executar a mesma coisa, ele executa Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Agosto 2, 2007 Denunciar Share Postado Agosto 2, 2007 Vamos rever o código então:<? $comando = "copy C:\\guia.txt \\\\192.168.25.17\\LPT1"; echo "$comando <br>"; $entra=shell_exec("$comando"); echo $entra; ?>A barra invertida ( \ ) serve como caractere de escape, para você colocar caracteres que não seriam permitidos em strings.Logo, para você utilizá-la, terá que duplicá-la! (Uma para dizer qe você quer colocar um dos caracteres, e a outra que é o caractere em sí)E no seu script, entre o IP e o LPT1, também faltava essa barra a mais. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mário Miranda Postado Agosto 2, 2007 Autor Denunciar Share Postado Agosto 2, 2007 Não deu também.Veja só o que eu fiz.Eu modifiquei o comando. Seguindo o que você me passou sobre as '\' e deu certo.$comando = "copy C:\\GUIA.txt c:\\mario.txt";Mas o anterior(o que tem o caminho da rede)...pelo script não faz. Só que se eu executar direto no servidor, abrindo o CMD o que o navegador me retorna, ele executa. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Mário Miranda
Bom dia.
Estou com uma dúvida com essa ação.
Em um script o seguinte comando é rodado:
Só que o comando executado me retorna "0 arquivos copiados".
Porém se eu executar o mesmo comando em que eu dou um echo na tela, só que diretamente na máquina onde roda esse script, o comando funciona.
Se alguém puder me ajudar com isso, só falta isso pra que eu consiga finalizar um projeto.
Desde já agradeço a todos.
Editado por Mário MirandaLink para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.