De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: David F A B Fante
Data de Publicação: 23 de junho de 2008
Eu estou desenvolvendo uma solução de gerenciamento de contas de hospedagens e revendas, boa parte já está pronta, mas tenho muito a fazer ainda. Uma das necessidades que tive logo de cara, é criar um script PHP que fosse executado em linha de comando, pois ele seria responsável por registrar mensalmente um novo débito e enviar e-mails de cobrança. Então eu configurei para rodar via CRON. Devido a uma medida de segurança eu queria que ele só rodasse se fosse validada uma variável. Este foi o meu problema.
Após ler e reler o manual on-line do PHP eu encontrei uma informação bem útil. Existe uma forma de informar e resgatar parâmetros em linha de comando. É retornado em forma de string. Essa é a parte chata mas vamos lá. Mãos a obra!
# php teste nome=SHZ idade=7
Veja que diferentemente do modo tradicional, os parâmetros não começam com
<b>?</b>
no começo e < b>&</b>
entre os parâmetros. Usamos apenas espaço.
<?php for ($i=1; $i < $argc; $i++) {parse_str($argv[$i]);} echo "Olá ".$nome.", você tem ".$idade." anos de existência!"; ?>
O valor $argc
é a variável que retorna a quantidade de argumentos enviados
pela linha de comando. É interessante dizer que o nome do arquivo também
conta como um argumento. $argv
é a array que contem os valores, agora
precisamos criar uma variável com cada valor, pois em uma linha assim:
# php teste.php nome=SHZ
A variável $argv[1]
terá o valor de nome=SHZ
. Ao
usar a função parse_str
poderemos acessar o valor com o nome do argumento,
ou seja: $nome
terá o valor de SHZ
, e foi o que fizemos, com nome e idade.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários