Automação de tarefas em PHP: 10 exemplos de código para programadores preguiçosos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Por que automatizar a rotina em PHP? Ou como fazer o computador trabalhar por você

\n\n

Imagine: toda manhã você entra no servidor, faz backup do banco de dados, verifica logs de erros, gera o relatório do dia anterior e o envia para o chefe. E depois — de novo, e de novo. Entediante? Com certeza. E, principalmente, é uma perda de tempo um programador fazer o que uma máquina pode fazer.

\n\n

PHP não é só para sites. Esta linguagem é excelente para automação de tarefas em PHP: desde renomear arquivos até scraping complexo de sites. Neste artigo, mostro 10 exemplos reais que vão economizar horas do seu trabalho. Todos os scripts funcionam e são testados — pegue e use.

\n\n

A propósito, se você busca soluções prontas para automação com PHP, está no lugar certo. Vamos nessa!

\n\n

1. Envio automático de e-mail com anexo (relatório PDF)

\n\n

A solicitação mais comum dos negócios: "Faça com que os relatórios cheguem sozinhos". Abaixo, um script simples que envia um e-mail com um arquivo PDF.

\n\n
<?php\nfunction sendReportWithAttachment($to, $subject, $body, $filePath) {\n    $boundary = md5(time());\n    \n    $headers = "MIME-Version: 1.0\\r\\n";\n    $headers .= "From: report@meusite.com\\r\\n";\n    $headers .= "Content-Type: multipart/mixed; boundary=\\"{$boundary}\\"\\r\\n";\n    \n    $message = "--{$boundary}\\r\\n";\n    $message .= "Content-Type: text/plain; charset=utf-8\\r\\n\\r\\n";\n    $message .= $body . "\\r\\n\\r\\n";\n    \n    if (file_exists($filePath)) {\n        $content = file_get_contents($filePath);\n        $content = chunk_split(base64_encode($content));\n        $message .= "--{$boundary}\\r\\n";\n        $message .= "Content-Type: application/pdf; name=\\"" . basename($filePath) . "\\"\\r\\n";\n        $message .= "Content-Disposition: attachment; filename=\\"" . basename($filePath) . "\\"\\r\\n";\n        $message .= "Content-Transfer-Encoding: base64\\r\\n\\r\\n";\n        $message .= $content . "\\r\\n";\n    }\n    \n    $message .= "--{$boundary}--";\n    \n    return mail($to, $subject, $message, $headers);\n}\n\n// Uso:\nsendReportWithAttachment(\n    'chefe@empresa.com',\n    'Relatório diário de ' . date('d/m/Y'),\n    'Em anexo, o relatório em PDF. Detalhes no arquivo.',\n    '/var/relatorios/relatorio_diario.pdf'\n);\n?>
\n\n

Como automatizar: coloque este script no cron para executar uma vez por dia — e os relatórios serão enviados automaticamente.

\n\n

2. Scraping de site e salvamento em CSV

\n\n

Suponha que você precise coletar preços de concorrentes ou uma lista de vagas. Scraping em PHP é simples. Use cURL e DOMDocument.

\n\n
<?php\nfunction parseSiteToCSV($url, $cssSelector, $outputFile) {\n    $ch = curl_init();\n    curl_setopt($ch, CURLOPT_URL, $url);\n    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);\n    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)');\n    \n    $html = curl_exec($ch);\n    curl_close($ch);\n    \n    if (!$html) {\n        return false;\n    }\n    \n    $dom = new DOMDocument();\n    @$dom->loadHTML($html);\n    $xpath = new DOMXPath($dom);\n    \n    $items = $xpath->query($cssSelector);\n    \n    $file = fopen($outputFile, 'w');\n    fputcsv($file, ['Texto', 'Link']);\n    \n    foreach ($items as $item) {\n        $text = trim($item->textContent);\n        $link = $item->getAttribute('href') ?: '—';\n        fputcsv($file, [$text, $link]);\n    }\n    \n    fclose($file);\n    return true;\n}\n\n// Exemplo: scraping de títulos de notícias de um site\nparseSiteToCSV(\n    'https://news.ycombinator.com/',\n    '//tr[@class="athing"]/td[@class="title"]/a',\n    'hacker_news_titles.csv'\n);\n?>
\n\n

Este exemplo de automação de tarefas em PHP pode ser executado a cada hora — e você obtém dados atualizados sem um único clique.

\n\n

3. Autom

Blogs

Book Recommendations