Quando pensamos em PHP, provavelmente o imaginamos em seu habitat natural: o servidor web. Mas, você sabia que o PHP pode ser usado para muito mais do que apenas criar sites e aplicativos web? Prepare-se para desvendar o misterioso e intrigante mundo do PHP CLI (Command Line Interface)!
O que é PHP CLI?
Para os não iniciados, CLI significa “interface de linha de comando”. No caso do PHP CLI, estamos falando de usar PHP em uma linha de comando, como um shell do Linux, ao invés de em um servidor web. O PHP CLI nos permite escrever scripts PHP que podem ser executados no terminal, independentemente de um servidor web.
PHP CLI para tarefas diárias
Com PHP CLI, você pode escrever scripts PHP para realizar tarefas diárias simples, como copiar arquivos de um diretório para outro. Por exemplo, você poderia escrever um script para copiar todos os arquivos de imagem de um diretório para outro. Aqui está um exemplo rápido de como você pode fazer isso:
<?php
$origem = "/caminho/para/o/diretorio/de/origem";
$destino = "/caminho/para/o/diretorio/de/destino";
$arquivos = glob($origem . '/*');
foreach($arquivos as $arquivo) {
$arquivoDestino = $destino . '/' . basename($arquivo);
copy($arquivo, $arquivoDestino);
}
Você pode executar este script diretamente do terminal usando o comando php
:
php copiar_arquivos.php
Integrando com MySQL
Mas espere, tem mais! Com PHP CLI, você também pode integrar essas tarefas com um banco de dados MySQL. Por exemplo, depois de copiar os arquivos para o novo diretório, você pode querer registrar esses arquivos em um banco de dados para que eles possam ser acessados por um site de e-commerce.
Aqui está como você poderia fazer isso:
<?php
$origem = "/caminho/para/o/diretorio/de/origem";
$destino = "/caminho/para/o/diretorio/de/destino";
// Conecte-se ao MySQL
$mysqli = new mysqli("localhost", "usuario", "senha", "ecommerce");
$arquivos = glob($origem . '/*');
foreach($arquivos as $arquivo) {
$arquivoDestino = $destino . '/' . basename($arquivo);
copy($arquivo, $arquivoDestino);
// Registre o arquivo no banco de dados
$stmt = $mysqli->prepare("INSERT INTO imagens (caminho) VALUES (?)");
$stmt->bind_param("s", $arquivoDestino);
$stmt->execute();
}
$stmt->close();
$mysqli->close();
Agendando tarefas com PHP CLI
E se você quiser automatizar isso para que seja executado a cada dia às 3 da manhã? Fácil! Você pode usar o agendador de tarefas do Linux, conhecido como “Cron”, para fazer isso.
Para agendar uma tarefa no Cron, você precisará abrir a tabela de cron com o comando crontab -e
e adicionar uma linha que se parece com isto:
0 3 * * * /usr/bin/php /caminho/para/seu/script.php
Essa linha instrui o Cron a executar o script PHP às 3 da manhã todos os dias.
Conclusão
Então, aí está! O PHP CLI é uma ferramenta poderosa que vai além do servidor web. Com ele, você pode automatizar tarefas, interagir com o banco de dados MySQL e muito mais. Então, por que não experimentar e ver o que você pode fazer com o PHP CLI hoje?