Este post discute como executar comandos shell via PHP. Assim, ao invés de inserir manualmente um comando no Linux para pesquisar a estrutura de pastas, você faz isso programmaticamente via PHP. A habilidade de executar comandos shell via PHP é uma característica poderosa e deve ser usada com cuidado. Nem todos os provedores de hospedagem permitirão que você execute comandos shell via PHP.
A função PHP para executar comandos shell é: shell_exec(), exec() ou system().
Estas funções são muito similares, mas têm pequenas diferenças:
- shell_exec() retorna a saída completa como uma string. A string pode ser NULL quando um erro ocorre ou se o comando não produz saída.
- exec() retorna a última linha do comando executado como uma string. NOTA: Utilize exec() quando necessitar de acesso à saída do programa. shell_exec() não fornece a informação do código de saída do programa.
- system() é semelhante a shell_exec() mas mostra a saída directamente (sem utilizar echo() ou print()).
shell_exec() & exec() example:
ambas estas funções da shell funcionam da mesma forma. Note as diferenças mencionadas anteriormente.
<?echo shell_exec("ls / -ltr");?>
Resultado:
total 2097248 drwxr-xr-x 2 root root 4096 Apr 26 19:07 opt drwxr-xr-x 2 root root 4096 Apr 26 19:07 media drwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64 lrwxrwxrwx 1 root root ….
A resposta contém \n quebras de linha. Use str_replace(“\n”, “<BR>”, shell_exec(“ls / -ltr”)) para substituir novos caracteres de linha por BRs HTML amigáveis.
Exemplo:
total 2097248drwxr-xr-x 2 root root 4096 Apr 26 19:07 optdrwxr-xr-x 2 root root 4096 Apr 26 19:07 mediadrwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64
system() example:
A função system() também é usada para executar comandos shell via PHP.
<?system("ls / -ltr");?>
Resultado:
total 2097248 drwxr-xr-x 2 root root 4096 Apr 26 19:07 opt drwxr-xr-x 2 root root 4096 Apr 26 19:07 media drwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64 lrwxrwxrwx 1 root root ….
Visita https://anto.online para mais posts sobre PHP!
Sobre os Autores
Cada membro da equipe editorial de Anto é um especialista da Nuvem por direito próprio. Anto Online tem muito orgulho em ajudar os outros entusiastas da Nuvem. Deixe-nos saber se você tem uma excelente idéia para o próximo tópico!
Suporte a Causa
Suporte Anto Online e compre-nos um café. Tudo é possível com café e código.
Comprar-me um café